What Language Are you Coding in Right Now?

As I write this it is 2am on Tuesday night and I have nothing. I’m grasping for topics once again. So this post is yet another one of those conversational threads in which I ask you a questions and you answer back. :)

I know that large segment of my readers are programmers and IT folk, so out of curiosity, I wanted to ask what language are you working with right now. By that I mean the current project you are working on. It can be for work, or it might be a hobby/part time thing that you do on the side. I want to get an idea of what is the spread of languages here.

I have two follow up questions too. First, what language do you love (or would love to learn more about) but you just don’t get many chances to work with? Second, what is the language you absolutely abhor, but you have to use from time to time?

I don’t want to exclude people who don’t code so I’ll add a last follow up to the follow up – what was the most boring, degrading project that you had the “pleasure” of working on lately?

I’m working in PHP + Javascript right now building internal applications for work. I recently started using the jQuery framework, and I’m absolutely amazed how small, simple and yet incredibly powerful it is. For years I was always uneasy when using Javascript because it was like wadding into a minefield. Half of the features would work only in IE, the other half only in FF and etc.. JQuery put the fun back in client side scripting for me because stuff just works regardless of platform and browser. Not only that but it lends itself to elegant code and separates javascript from HTML – so instead of multitude of onClick and onChange properties in the body of the page, you simply use a wide array of selection statements to grab the HTML element and attach a handler function to it. It’s great – I highly recommend checking it out if you are doing any kind of web design.

I would love to work more with two languages: Ruby and Lisp. Both are great languages for different reasons. Most of my side/hobby projects are on the back burner right now because I just don’t have time for them. At work on the other hand there is a mountain of PHP code into which I can just plug new components. It makes no sense to use any new language unless for a new, unrelated project.

The language i hate but have to work with from time to time is VBA. Horrible language, horrible editor, and piss poor debugging experience. I don’t wish this on my worst enemies. I also love when people ask me to do something that is virtually impossible to do in Word. For example, one guy wants to have the chapter title repeated on the first line of every page of the document with exception of certain pages that will include tables full page tables or figures (which btw can appear anywhere and are inserted by the user manually). Oh, and that chapter title cannot be in the header – it must be on the first line of the text. And it also should be context aware and change to the title of section or subsection within the chapter if it contains any. Sigh…

How about you?

[tags]programming languages, programming, php, javascript, jquery, ruby lisp, vba[/tags]

This entry was posted in programming. Bookmark the permalink.



32 Responses to What Language Are you Coding in Right Now?

  1. Nathan UNITED STATES Mozilla Firefox Windows says:

    I currently program in C. Not C++, just C.

    I love working with Ruby, and I do so at every opportunity. Ruby scripts have replaced shell scripts for me (I’ve played around with rush as well), and though I do some personal web work in PHP, I’m trying to move to Ruby as much as possible.

    Like you, I can’t stand VBA, but thankfully nobody asks me to use it anymore. The language I sometimes have to use but don’t like is Perl. It doesn’t help that I learned Ruby first, so every time I learned about something in Perl I would think “hm, Ruby does that too, but does it a lot better”. Ultimately, Perl has incredibly awkward syntax and semantics that would make a proper language designer cry.

    Reply  |  Quote
  2. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    Really? I totally love Perl – I don’t care about the awkward and ugly syntax. Every time I need to hax something really quick, Perl is there for me. It’s like an old trusty swiss army knife. Not very beautiful, not very elegant and you wouldn’t replace your nice professional tools with it but it does the job when you are in a pinch.

    Reply  |  Quote
  3. Naum UNITED STATES Camino Mac OS Terminalist says:

    @work, PHP for my own custom crafted framework + some recent trudging through hideous 3rd party PHP code, though we have RoR systems here too and I will have to make some enhancements to one in short order… …also, started looking at Adobe AIR, though I not a big fan of Adobe in general…

    @home, playing w/Lua and revisiting a Wiki framework I wrote ~6 years ago (converting to PHP5/AJAX from PHP4)… …and like you, Luke, digging jQuery (once you wrap your head around its quirky chaining syntax…)…

    I used to do heavy Perl coding, but don’t see the need w/Ruby as Ruby is all that Perl is without much of the ugliness – the whole “bless a referent” and list flattening in Perl is maddening… …love/hate Ruby as it’s really clean but the whole “no parenthesis” thing is befuddling to me (guess my old school C coding XP is showing through…)

    Absolutely detest anything MS (VB, .NET, etc.…) or Java related (Java is the 21st century COBOL), think I would rather going back to coding COBOL, JCL, ISPF Dialog Manager, REXX, etc… before doing Java…

    Reply  |  Quote
  4. Naum UNITED STATES Camino Mac OS Terminalist says:

    Oh, on Ruby – dig Ruby but not so enamored with Rails as after developing a system with it, was hair ripping trying to accomplish some things that the framework is not suited for – it reminds me of dBase coding back in the 80s, and at that it is very good, especially with all the canned AJAX capability… …but I hate ActiveRecord and its bloatedness… …nothing wrong with SQL or if you do abstract it, do it without all the baggage…

    Reply  |  Quote
  5. Ben UNITED STATES Mozilla Firefox Windows says:

    Using: C# – I really like C# in .NET 3 and later

    Wish I was using for $$: Lisp. I write all my tools in lisp these days, even when it doesn’t make sense, just to be able to use it.

    Abhor and dread: Java. I hate java like that cool, good looking guy who everyone wants to be around even though he’s an idiot jerk. I tell my peers that between Java, XML, and CORBA we’re in the dark ages of computer science. (thankfully CORBA seems to be in its death throws).

    Reply  |  Quote
  6. Dax UNITED STATES Opera Windows says:

    I currenty work in Java on a large J2EE application. Almost all of my home projects are in Java or Matlab (I like crunching numbers). I have a few written in Scheme, C, C++, and Processing (Java based), but nothing substantial; mostly proof of concept works or prototypes.

    I sometimes work on server scripts in Python which I would love to do more work with (not scripts, but Python). I also looked into Lua when playing around writing different language parsers/interpreters. It seems like a nice language, but have no idea how I would end up using it.

    I really don’t detest writing in any language. To me, they’re just tools to solve problems; some work better than others, but eventually can get the job done. I’m not much of a fan of writing in Javascript, but that’s almost solely because of the inconsistencies in the DOM objects between browsers.

    And, I agree with everyone above. JQuery is really nice.

    Reply  |  Quote
  7. Ido ISRAEL Mozilla Firefox Ubuntu Linux says:

    I currently work with Python, which is also my first language of choice for almost anything that doesn’t really require cpu/memory optimizations.

    Ruby, Erlang, Lua and Smalltalk or on the list of languages I would want to learn, giving time.

    I learned both Python and Perl at the same time, loved python and hated the guts of Perl…

    and I need to get back to programming in C++ since I’m slowly loosing my grip on the language.

    Reply  |  Quote
  8. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    Still in school, scarcely started learning to code (in the long view at least, we’ve done plenty but I know its not even the tip of the iceberg).

    Recently finished the actual coding section of a project in VB, now onto the write up. The task was to simulate the display on a petrol pump and the corresponding display on a control console inside the gas station. Most of it was easy, but making the 7-segment LCDs dance in time to the changing values ended up being overcomplicated.

    I made it work, but can’t help feeling their must have been a way of doing it in 1 tenth the time and code volume. (I can already tell that if I look back on this in a decade’s time, it’ll be one of those “I want to kill whoever wrote this… oh, that’s me” moments. But hey, first programming project ever, so I’m not unduly worried)

    Reply  |  Quote
  9. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    Interesting. I didn’t realize that so many people out there despised Perl. But, I do not deny that scripting in Ruby is probably way much more pleasant and produces much more elegant and readable code. :)

    [quote comment=”8440″]Oh, on Ruby – dig Ruby but not so enamored with Rails as after developing a system with it, was hair ripping trying to accomplish some things that the framework is not suited for – it reminds me of dBase coding back in the 80s, and at that it is very good, especially with all the canned AJAX capability… …but I hate ActiveRecord and its bloatedness… …nothing wrong with SQL or if you do abstract it, do it without all the baggage…[/quote]

    I have my own bone to pick with rails – blatant disregard for backward compatibility.

    And yes, Active Record kinda scares me because I do not know how it queries the database. I mean, I could probably look it up, but I always wrote my own queries and not having to do it is just bizarre.

    @Ben – I find it interesting that you love C# and abhor Java as the two languages are very similar syntax wise. I’d say C# is bit more flexible and has more built-in features, and much more concise and simpler library set. So yeah, I can kinda see where you are coming from.

    [quote comment=”8446″]I can already tell that if I look back on this in a decade’s time, it’ll be one of those “I want to kill whoever wrote this… oh, that’s me” moments.[/quote]

    This actually happens to everyone. :) It gets even better when you are maintaining the same project for 3-4 years. Then the stupid hacks become part of your code-base. :P Fun times!

    Reply  |  Quote
  10. astine UNITED STATES Konqueror Linux says:

    The project I am working on at work is in Java but also pulls in a fair amount of NSIS, SQL and batch scripting. I managed to create a sub project that happens to use a lot of bash of all things.

    At home I’m working on a mini project done entirely in Lisp (so far.)

    As for the other two questions, Lisp is my current favorite language. I also like what I know of Python. I would like to learn both Haskell and Ruby, for different reasons obviously.

    Languages I don’t like include NSIS and anything based on XML. Using DOM to save and store data and configurations in XML is not so bad, but when people try to make XML based languages, (Ant script, XSLT) it makes me want to pull my hair out. It’s so verbose it make Java look terse and its so ugly it make bash look pretty. Never mind that all the XML mini-languages are bloated and approach Turing completeness but never reach it.

    And finally, since you handed out the invitation, I’ll tell you about a PITA that was thrown my way as of late. My project at work makes heavy use of Business Objects and if anyone reading this has ever had to do development work with BO, you have my condolences. Anyway, our company had replaced BO’s native branding with our own. It was all good except for this one logo in the header frame that for some reason wouldn’t show up in the CMC until someone logged on. No knew why this was and because I’m the junior guy on the project, it was my job to figure out how to fix it. Seemed like a simple task, just look for the HTML for or similar that was supposed to load the image and edit it. Two weeks and multiple greps searches custom scripted find utilities later, I finally resigned myself to the notion that the code for the job was stored in binary, likely a jar file. I cut and pasted the logo from one image to another and that was the fix.

    Reply  |  Quote
  11. astine UNITED STATES Konqueror Linux says:

    Interesting. I didn’t realize that so many people out there despised Perl.

    I didn’t mind Perl till I learned Python. Perl is ugly, idosyncratic, and limited. Python does better on all three counts and I hear Ruby is even better.

    First there was bash, but it was done in by Perl and Tcl. Now Perl and Tcl are losing out to Python and Ruby. Perl is obsolete.

    Reply  |  Quote
  12. As you know I am a PHP/MySQL guy, and I hardly know that, I guess you could say the code I am best at is HTML ;)

    I would REALLY love to learn Ruby, but I never have time to learn anything, hell its been about 5 years and I haven’t learned PHP yet.

    I absolutely hate ASP, sites that use it always feel clunky, old, and slow. I don’t have to code in it, but if I did, i would be sad.

    Reply  |  Quote
  13. Muhammad SINGAPORE Mozilla Firefox Windows Terminalist says:

    Does scripting in 4Test count? :D

    Reply  |  Quote
  14. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    [quote post=”2331″]Using DOM to save and store data and configurations in XML is not so bad, but when people try to make XML based languages, (Ant script, XSLT) it makes me want to pull my hair out. It’s so verbose it make Java look terse and its so ugly it make bash look pretty. Never mind that all the XML mini-languages are bloated and approach Turing completeness but never reach it.[/quote]

    Word! I think this XML based pseudo language stuff is the direct result of the fact that young programmers these days have no clue about compilers and programming language theory. They set out to create a domain specific micro-language but then get hung up on lexical parsing, and decide to cheat using XML – cause, hell, XML is already in a tree form, and it’s so easy to parse.

    Unfortunately since XML is “enterprisey” these things end up being included in big projects that we all use. :(

    [quote post=”2331″]First there was bash, but it was done in by Perl and Tcl. Now Perl and Tcl are losing out to Python and Ruby. Perl is obsolete.[/quote]

    Nah… Punch cards are obsolete. But believe it or not, there still are systems out there running Fortran and COBOL. Perl will be alive and widely used for many more years. I mean, look at CPAN – there is a perl module for everything out there somewhere.

    But you are right – Python is already the proffered scripting language for countless linux projects out there. So Perl is being slowly pushed out from the scripting world.

    Reply  |  Quote
  15. Fr3d UNITED KINGDOM Mozilla Firefox Mac OS says:

    As always/never ending: PHP

    Currently (still learing/playing with): C#

    I’m planning on trying to learn a bit of C after covering the very basics of it at Uni :D

    Reply  |  Quote
  16. ths UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    I do my living with perl, sh, awk, sed and a dialect of prolog.
    There are people who make fun of write-only perl code (golfers and the like), but you can write BASIC in any language if you insist. I think my programs are structured and readable (my colleagues force me ;), and imho this is a requirement when working in a team). I like the zoo of modules very much. You can choose what you need, or write your own. Mostly I use the CGI, XML, DBI and DBD::xx modules because it’s heavily RDBMS based what I do.

    For one application Java is required, but I can get around that by introducing the Rhino JS interpreter with my modules ;) which is very nice.

    I have a linux server at home with linux from scratch, and I use perl there too, but also a bit of PHP to learn it (I don’t like that mixture of code and content, so I like perl’s Template module collection).
    This is a server for my wife’s office, so I have to support XP clients, and write a bit of cmd and VBS, too, but I don’t like it so much. I mostly use code snippets I steal from google searches ;)

    When I was still running a BBS in fidonet (until 2002, a HD failure ended that chaper of my life), I had OS/2 and most of my operational stuff for the BBS was written in ksh. The applications itself were written in C with gcc (not C++). I wrote most of the BBS applications myself because I wanted to get rid of the OS/2 DOS emulation and run PROTECTONLY (if anyone still knows this term). In the end the only foreign part was the “mailer” program Binkley to operate the modems and ISDN, everything else was my own stuff.

    I’m not very dogmatic with languages. I try to use what fits the problem best, if at least I can spell some basic code in that language. If I don’t speak it it’s a decision whether to learn that “best” language or choose something else. It’s a tradeoff between time and cost and elegance of the solution. You can’t have everything of it most of the time.

    I have come to hate Java, because on the business servers I use and have to support it really sucks. It’s terrible to see what a Java GUI does with an otherwise quite performant machine which runs fine with a dedicated client GUI (e.g. Tivoli). Introducing Java for user GUIs is something I’d instantly sign death penalty for for any software architects ;)

    Going one step further I even more despise applications running inside a web application server like websphere, tomcat, weblogic etc. The infrastructure you need is unbelievable, and you trade a lot of CPU cycles for a convenient environment.
    I admit that Java and Web applications allow for RAD and quick time-to-market, but it’s the operational staff who then has to suffer the consequences ;(

    Reply  |  Quote
  17. ths UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    [quote post=”2331″]So Perl is being slowly pushed out from the scripting world.[/quote]

    perhaps in the academic world where you are more or less free to install new languages on production machines, but not in the business world. You have change processes there with a speed which makes continental drift look like Bagheera.
    Perl and COBOL will stay until someone switches off the lights ;)

    Reply  |  Quote
  18. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    [quote post=”2331″]perhaps in the academic world where you are more or less free to install new languages on production machines, but not in the business world.[/quote]

    Nah, I meant that if you look at the Linux world you will see that more and more applications ship with python install/configuration scripts these days. Also more of the “helper” scripts that parse and modify config files for you are being done in Python.

    So new developers are slowly moving towards Python and away from Perl, but the operative word here is Slowly. I have no doubt that Perl will still be relevant and widely used 10-20 years from now.

    Reply  |  Quote
  19. Mats Rauhala FINLAND Mozilla Firefox Ubuntu Linux says:

    My current work-projects involve php, and hobbies python/php. I might have to learn visual basic again due to work even though I _hate_ it..

    Reply  |  Quote
  20. mcmcom CANADA Internet Explorer Windows says:

    Dont hit me

    C#
    ASP.NET (1.1 / 2.0)
    AJAX on ASP.NET
    PHP + PERL
    T-SQL

    :S

    Reply  |  Quote
  21. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    Dont hit me

    I think I’m possibly more likely to hit you based on your OS/browser :P

    This actually happens to everyone. ) It gets even better when you are maintaining the same project for 3-4 years. Then the stupid hacks become part of your code-base. P Fun times!

    I know, you’ve mentioned such moments before. This one should be among the least consequential ugly hacks I ever produce.

    Hm.. while there’s all these coder types in one place, just how much of an ugly hack is my petrol pump LCD VB dealy?

    The object of the code block in question is to take the values generated by the program and display them 7-segment style. Right now it does this by first formatting them to the right number of decimal places (inc. leading and trailing zeroes) and carving them up to individual digits with the mid function. These values (22 of them in all) go into the first column of an array.

    Then columns 2 to 8 are filled in with 1s or 0s depending on whether each segment of that digit should be on or off, and finally there’s close to 800 lines of If statements making lines visible or invisible based on those 1s and 0s.

    If I could refer to “line_x” and substitute in a different number in place of x on each run through a loop, the size of this thing would be slashed down. But no, no variables in object names as far as I know. I hear rumour of a much better way of martialling all these lines, but never any detail of how to do it.

    Your judgements?

    Reply  |  Quote
  22. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    I’m not sure if I understand exactly what you are asking but I think you are looking for closures and/or function pointers. You can’t dynamically build variables on the fly but you can do something like:

    Dim f = Function(ByVal x As Integer, ByVal y As Integer) x + y
    Dim b = f(2, 3) ' will yield 5

    So you could store bunch of anonymous function pointers in an array, and then refer to them as needed (like your line[x] example where x iterates over some range of values).

    Reply  |  Quote
  23. mcmcom CANADA Internet Explorer Windows says:

    Dont hit me

    I think I’m possibly more likely to hit you based on your OS/browser

    LOL! Good thing i didnt reply to this on my iPhone!

    Reply  |  Quote
  24. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    [quote post=”2331″]LOL! Good thing i didnt reply to this on my iPhone![/quote]

    Actually, I wish you did. I wonder how this plugin would pick it up. How does the iPhone identify itself? Anyone knows? Does it actually say iPhone or does it display the name of whatever underlying kernel they are using in it?

    Reply  |  Quote
  25. Posted using Suck 4.2 on iPhone

    Reply  |  Quote
  26. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    Well, the code is all done now and I’m busily doing documentation stuff, so I think the boat has left on making changes (and I’d really hate to break it at this stage :wink:) but thanks anyway :mrgreen:

    I think the problem is going from a generated value to picking out the line on the form with that number and doing stuff to it. Apparently VB has some fancy way of controlling multiple objects together (so you tell it that “2” means to turn on/off lines to make a 2 shape, then just tell it to make a group of lines into a 2… maybe) but my way already happened… so, yeah :lol:

    Reply  |  Quote
  27. naum UNITED STATES Safari Mac OS Terminalist says:

    posted from my iPhone – filling out textarea blocks not so difficult but all the other field entries are tedious

    also, email link back to post is resulting in 404

    Reply  |  Quote
  28. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    [quote comment=”8512″]posted from my iPhone – filling out textarea blocks not so difficult but all the other field entries are tedious[/quote]

    Heh, so it does identify it as Safari on OSX. Interestng.

    [quote post=”2331″]also, email link back to post is resulting in 404[/quote]

    Wait, what? Which email link? You mean the link in the email notification?

    Can you paste in the URL you got from the email? I want to fix it, but it seems to be working for me.

    Reply  |  Quote
  29. BobCFC UNITED KINGDOM Mozilla Firefox Linux says:

    C++ for real-time 3D graphics @ 60fps minimum

    Reply  |  Quote
  30. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    [quote comment=”8519″]C++ for real-time 3D graphics @ 60fps minimum[/quote]

    Cool! Are you in games development by chance?

    Reply  |  Quote
  31. naum UNITED STATES Safari Mac OS Terminalist says:

    link to article is OK but the link to the #comments URL has an extraneous “/” prepended that triggers URL encoding and consequently 404 result…

    would cut and paste but will have to wait until iPhone 2.0 for that (hope so!)

    keyboard entry not so bad even with my fat fingers (way better than any other cell phone I’ve ever owned and superior to tiny Blackberry keyboards I’ve tries using)…

    Reply  |  Quote
  32. Chris K NETHERLANDS Opera Windows says:

    Perl. Lots of nice, clean, readable, pretty perl. Starting to be forced to use python by a couple of programs we use – writing plugins for them mostly. Going from one to the other is kind of like going from a big city where you can just do whatever you want to a really small town where you have to drive a ways to get to anything interesting, and the police are so strict that you have to drive exactly how they say or you can’t go anywhere. Not everyone wants or needs to drive the same exact car at the same exact speed. Tan minivans for all, please import the one radio model available if you need one.

    Also javascript and php for private projects. :)

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *