Tuesday, 1 July 2008

Learning a new Programming Language

image Just when I am deep into my evening programming in Delphi, I now have a need to take up yet another language as I take on some Perl skills at work. Its always a typical requirement for any programmer to have a few different programming languages in his/her tool bag. Currently I am working in Delphi, JavaScript, Ajax, Oracle's Application Express (Apex), SQL and others. I have in the past used such languages as Turbo Pascal, C and C++, TRS-Basic, MBasic and Visual Basic, C#, Modula 2, Perl, Java, Logo, PL/SQL, RPG, HTML (yea, I know, not really a language, but...), DataFlex, varieties of xBase (dBase, FoxPro, Clipper), Informix, OPL, Clarion, and no doubt some others.

Its always a hard slog learning a new language especially as you still have to keep programming in another language on a regular basis. With my work at home and my normal work, I will have to juggle a few languages as well as learning (re-learning) Perl. I used Perl for some minimal CGI scripting in the past but that was some 6-7 years ago and I really didn't get very deep at all. That's about to change. This will definitely impact my after hours programming for a few weeks.

So how do you handle learning a new language? To me that means studying; pouring over books, tutorials, and code; having bleary eyes; and getting really cranky for a while. Have you only ever needed to know the one language? After all, I can see where some Delphi programmers would never have needed to learn anything else.

14 comments:

  1. AnonymousJuly 01, 2008

    Dataflex eh!

    Those were the days :-)

    Robert H

    ReplyDelete
  2. Of course, I'm far too young to remember that :)

    ReplyDelete
  3. Perl... brings me memories of crappy syntax and messy ad-hoc solution. Perl6 (the next version) is supposed to be a clean up of the warts of this language and make a break in syntax. It has been 8 years in development but still no end in sight. If you have the choice I would suggest you to select another scripting language.

    ReplyDelete
  4. Or, of course, you could enter the Darwin Race Of Languages (http://www.darwinraceoflanguages.com) to get a start with it.

    ReplyDelete
  5. Funny, I am just about to start doing the same thing, except with Python instead of Perl. I looked at perl briefly but it didn't appeal.

    One language is never enough, you need to know at 3 or 4 to be any good these day. Delphi is great for windows apps, ok for web apps on windows servers but less useful outside of that.

    ReplyDelete
  6. I don't actually think the programming language is important at all; what is important is how we use them, what their purpose is, and that we inject that purpose into our designs using those languages.

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Most seem the same to me. I can pick them up fairly quickly.

    After a while they all merge into one ;o)

    Currently using C/C++, PHP, SQL, javascript, HTML.

    I started with C and in the past have used COBOL, assembly, PIC 16x op codes, java, basic, visual basic.

    ReplyDelete
  9. Languages are a way of expressing yourself. Some are better than others at given task.
    What is really important is that one knows what one is trying to express.

    ReplyDelete
  10. Learning Ada really hurt. (Re-)learning Fortran has been almost as painful. Is it my age that's against me, or is it just that having a life mitigates against learning new stuff? When I was single I had time, now I have to fit it in between wife, three t{2}(w{1})een-age kids, and a few other interests.

    How many languages have I "learnt" over the years? In terms of being an expert, none! In terms of being productive, and able to produce useful software: Ada, Assembler (8080, Z80, 80x86), BASIC (incl. VB family and REALBasic), C/C++, COBOL, DCL, Delphi, Euphoria, Fortran, Modula-2, Perl, Protium (current employer's project), Tcl, and xBase (dBase family, Clipper) ... I think that's all. There are others I've fiddled with ...

    Am I bragging? No. Every language has its good bits and its bad bits. I still haven't found what I'm looking for, though as the years go by I'm starting to wonder if what I'm looking for is asking too much of a computer. Basically, I want DWIM: Do What I Mean. And computers aren't sentient (and won't be anytime soon, IMO), so I'm stuck with trying to figure out what the most appropriate tool is for the task at hand. So yeah, I'm past the language idealist phase and well into the language pragmatist: use what works best for each situation.

    However, and this is always lurking in the back of my mind, what if the best solution is to use a language that is either dying or too small (in number-of-users-worldwide terms)? Some poor sucker, sometime, will be stuck with the job of maintenance. I should try to make his job as easy as I can. To this end, see an article about coding for the maintainer.

    I think I'll shut up now.

    ReplyDelete
  11. About perl crappy syntax:
    Perl 5 has very elegant and flexible syntax for text processing. But currently (from my POV) it little bit obsolete as fully functional OOP script language.

    ReplyDelete
  12. i like perl6 and the new syntax


    you can try it with www.rakudo.org

    also there is more documentation here

    I also like php , perl5, java script , and free pascal

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. This comment has been removed by a blog administrator.

    ReplyDelete

Note: only a member of this blog may post a comment.