I like learning new programming languages, but I'm always afraid to try exotic ones in real projects, expecially because most customers are already scared off enough when they see Perl code :-) === General-purpose === * '''C++''' - I know the ISO/IEC C++ 98 standard extensively, including most of the recent C++11 additions. I also know several C++ [[ProgrammingFrameworks]]. * '''C''' - I regard C as a distinct language because the programming style and [[ProgrammingFrameworks]] differ considerably from C++. ISO C99 with GNU extensions is the probably the language I've used the most for low-level programming (see [[EmbeddedEngineerRole]] and [[OpenSourceDeveloperRole]]). * '''Assembly''' - I know assembly from several processors, but I can say I'm proficient only with the following: * Motorola/Freescale 680x0/Coldfire * Texas Instrument's DSPs (mostly TMS320C5xx) * The old Zilog Z80 I've also used several [[MicroController]]'s, in the sense that I know the architecture and integrated peripherals. * '''Java''' - I wrote some Java code at Google, although I'm not a skilled Java programmer. Long ago I've helped create a large Tomact-based webapp for [[http://www.fieremostre.it/|Fiere Mostre]], mainly in deployment and production systems, with minor development work for user authentication, security and database access. I've also done profiling, optimization and performance tuning work for a POS application based on IBM's JPOS. === Dynamic/Agile === * '''Perl''' - I used to be quite proficient in Perl, but today I use it mostly for one-liners. These tools are a good example of my rusty Perl coding skills: * [[http://www.codewiz.org/projects/#loginfo|Deluxe Loginfo]] * [[http://www.codewiz.org/projects/#newrpms|Newrpms]] * Extensive customizations to Bugzilla for internal use * '''PHP''': I've taught PHP in a web programming course as part of my [[TeacherRole]]. I've also written an online shop application in PHP back when PHP4 was not yet mainstream and you had to build it from source. As part of my [[ManagerRole]], I've also coordinated two additional PHP projects at [[DevelerCompany]]. * '''Python''': I use Python occasionally for scripting and small webapps. See [[GeekiGeeki]] for an example of my limited Python programming skills. * '''Javascript'''/'''ECMAscript''': Only superficial knowledge. === Scripting Languages === * '''Bourne Shell''': I've been using bash as my main shell environment and wrote countless scripts to automate my work === Query languageas === * '''SQL''': I've used it extensively and taught to students the basics. The Database I know best is MySql, but I also have some experience with MicrosoftAccess, SqlServer, OracleDatabase, PostgreSql and others. === Not Properly Languages ==== * '''regex''': Extended and Perl-compatible regular expressions. * '''HTML''': Extensive knowledge of the W3C standards (HTML 4.01 and XHTML 1.1). * '''CSS''': Some outdated experience with CSS1 and CSS2 * '''LaTeX''' * '''make''': I can write really obfuscated Makefiles using the GNU Make extended syntax, autoconf, automake, etc. === Useless Languages ==== * '''awk''' * '''sed''' * '''REXX''' * '''Turbo Pascal''' * '''Visual Basic''' * '''Brainfuck'''