Edit page GeekiGeeki
[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 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
37  coding skills:
38
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
42
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]].
48
49  * '''Python''': I use Python occasionally for scripting and small webapps.
50  See [[GeekiGeeki]] for an example of my limited Python programming skills.
51
52  * '''Javascript'''/'''ECMAscript''': Only superficial knowledge.
53
54 === Scripting Languages ===
55
56  * '''Bourne Shell''': I've been using bash as my main shell environment
57  and wrote countless scripts to automate my work
58
59 === Query languageas ===
60
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
64  and others.
65
66 === Not Properly Languages ====
67
68  * '''regex''': Extended and Perl-compatible regular expressions.
69
70  * '''HTML''': Extensive knowledge of the W3C standards (HTML 4.01 and XHTML 1.1).
71
72  * '''CSS''': Some outdated experience with CSS1 and CSS2
73
74  * '''LaTeX'''
75
76  * '''make''': I can write really obfuscated Makefiles using the GNU Make extended syntax, autoconf, automake, etc.
77
78
79 === Useless Languages ====
80
81  * '''awk'''
82  * '''sed'''
83  * '''REXX'''
84  * '''Turbo Pascal'''
85  * '''Visual Basic'''
86  * '''Brainfuck'''