562209e0636b89a00488365e62496ab7fcabfdc3
[wiki.git] / ProgrammingLanguages
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
4 they see Perl code :-)
5
6 === General-purpose ===
7
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]].
10
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]]).
15
16  * '''Assembly''' - I know assembly from several processors, but I
17  can say I'm proficient only with the following:
18    
19   * Motorola/Freescale 680x0/Coldfire
20   * Texas Instrument's DSPs (mostly TMS320C5xx)
21   * The old Zilog Z80
22  
23  I've also used several [[MicroController]]'s, in the sense that I know
24  the architecture and integrated peripherals.
25
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.
32
33 === Dynamic/Agile ===
34
35  * '''Perl''' - I'm quite proficient in Perl, but use it mostly
36  for one-liners and small utilities for my SystemAdministratorRole.
37  These tools are a good example of my Perl coding skills:
38
39   http://www.codewiz.org/projects/#loginfo
40
41   http://www.codewiz.org/projects/#newrpms
42
43  I've also done deep Bugzilla customizations for a customer,
44  which enables me to say that I've also used Perl in a real
45  application too.
46
47  * '''PHP''': I've teached PHP in a course done as part of
48  my InstructorRole.  I've also wrote an
49  online shop application in PHP back when PHP4 was not
50  yet mainstream and you had to build it yourself.
51  As part of my ManagementRole, I've also supervised two
52  additional PHP projects developed at DevelerCompany. 
53
54  * '''Python''': I know Python just a little.  See my
55  PikiPlus changes for an example of my limited Python skills.
56
57  * '''Javascript'''/'''ECMAscript''': Only superficial knowledge.
58
59 === Scripting Languages ===
60
61  * '''Bourne Shell''': I've been using bash as my main shell environment
62  and wrote countless scripts to automate my work
63
64 === Query languageas ===
65
66  * '''SQL''': I've used it extensively and taught to students the
67  basics.  The Database I know best is MySql, but I also have some
68  experience with MicrosoftAccess, SqlServer, OracleDatabase, PostgreSql
69  and others.
70
71 === Not Properly Languages ====
72
73  * '''regex''': Extended and Perl-compatible regular expressions.
74
75  * '''HTML''': Extensive knowledge of the W3C standards (HTML 4.01 and XHTML 1.1).
76
77  * '''CSS''': Some outdated experience with CSS1 and CSS2
78
79  * '''LaTeX'''
80
81  * '''make''': I can write really obfuscated Makefiles using the GNU Make extended syntax, autoconf, automake, etc.
82
83
84 === Useless Languages ====
85
86  * '''awk'''
87  * '''sed'''
88  * '''REXX'''
89  * '''Turbo Pascal'''
90  * '''Visual Basic'''
91  * '''Brainfuck'''