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