What language do you currently work in? What would you prefer to be working in?
For my job, I work mostly in higher level scripting languages doing web apps (Perl, Python, Ruby - yes we do Rails) and math/stats languages doing algorithm prototyping ®. Once in a while I get to do embedded coding in C/C++.
I think I’ve got a pretty good deal, although I wish the C/C++ stuff was a little more frequent.
I’ve done a lot of C/C++ in the past. Nowadays I’m doing C#, and really like it. Sometimes I miss the raw power of C, but most of the time I’m happy to trade raw power for no icky memory management problems.
I’m also partial to Visual Studio… I’d rather be programming in a language I don’t like with an IDE that I do like than vice versa. I spent a few months with Eclipse last year, and I gotta say, I don’t know how all you Java guys deal with it. But I’m a card-carrying MS girl, so I’m a little biased
I’m currently a senior in high school, taking my third credit in CS, just for some background. I’ve worked with Java and Python, and looked at C++; overall, I like Java, but I think it’s too anal about strict typing, and I much prefer Python’s lists (which combine Java’s arrays and LinkedLists).
In the spring, I’ll be looking at C, Fortran 90, Ruby, Scheme, Lisp, Smalltalk, Prolog, and maybe a few others.
Eclipse can be fustrating but you have to admit it’s ambitious. I’m using the Linux version with plugins for R (statET), Python (PyDev), Perl (Epic), Ruby/Rails (RadRails), and JavaScript (Aptana). Awesome to switch up my IDE at the push of a button.
These days the answer is likely to be any language – I look forward to coding as a special treat between the long dull days full of meetings.
A more accurate answer would be whatever language I am most proficient in at the moment – often switching back and forth as some skills are tuned while others rust.
Today that would be Java. Some years ago I was on a decent-sized project using Visual Basic and I actually began to enjoy it. Other times it is Oracle PL/SQL, while still others it might be C++ or C.
I spent awhile writing code in C for those portable Symbol bar code scanner terminals you see folks walking around with in supermarkets and enjoyed it thoroughly.
Yes. The answer is all about which is the most comfortable language at the time the question is asked.
Currently coding in Java (with a lot of home-grown Declarative Programming infrastructure underneath.)
Can’t compare it to C# or any .NET (because I haven’t used them); I like Java better than C++; I also like C a lot more than C++. I’d love to be able to do some work in C again… now there’s a language in which you better know what you’re doing, but if you do, you can do anything! :wistful: C++ OTOH was good for it’s time, but looks like a kludge nowadays. It’s really a halfway-house between procedural ad OO programming, and does neither particularly well IMO.
I have to third the opinion that Eclipse is a good IDE once you get used to it.
VB.NET isn’t bad, just be sure to turn on Option Strict as the default.
But, I am coming from VB5 and 6 and PowerBuilder so my opinion can safely be ignored.
I like C best. But I also like OO. So, left to myself, I’ll usually code a bastard C/C++ mix that doesn’t use any of the C++ library, templates, nor operator overloading, but does use classes.
I suspect that I would like D, but I know that I’ll never be allowed to code in it for work so it hasn’t been pressing to learn.
I was fine with Java 1.2->1.4, coding for cellphones. But the generic typing interface in 1.5 seems to be one of the greater cludges of the century and wonked up the butt, and traditionally the class library waaaaaaaaaaaAAAAAAAAAAaaaaaaAAAY to huge. There’s now at least two different classes that are redundant of each other regardless of anything you’re trying to do, and eighty-thousand procedures per one.
Perl is my secret weapon though for mini-task apps that can fit in a single page. I would never use it for anything bigger than that though. I never learned Python, just as it seemed redundant to Perl, which I already knew.
PHP I thought was good (and better now with OO), with a large but clear API. I think that if they made it so you had to declare variables instead of them automatically being created by simple mention, that it would be a viable language for large projects.
The only languages I have particularly disliked are Visual Basic/VBScript and LUA.
Prepare to laugh at me. I code in COBOL on a mainframe, and I like it. I’m learning Java and C# because I’ll need at least rudimentary skills in those languages on my new work team, but my primary language for the foreseeable future will be COBOL.
If I had to pick a single language, I’d like to be coding in a variant of C++ that had a couple minor changes to the inheritance system and built-in support for notifications. But what I’d really like is a nice IDE that can take code in perl, C/C++, Java and javascript and kick out a single application. One of these days, I guess.
For general purpose, etc. mine is definitely C++. I am a Java 2 Certified Programmer and I can’t stand even the thought of programming in Java anymore. I think, based on what I have read and test programs, that I would like programming in C# pretty well. (MS bested Sun in this department I have to admit.)
With current programming, it’s the libraries that make or break many languages. I.e., is there a nice set of functions already written that do the basics for my task?
For scripting purposes I like and use csh, PHP, etc. Just haven’t had to use Perl yet (only modifying existing scripts).
(I recently did some phone interviews. The biggest guy interviewing me didn’t know even the simplest C++ notations. Just a pure C guy! Your jaws would collectively drop if you told you what company and purpose the job was for. Yeah, I could remember printf codes, but I haven’t done those in maybe 15 years. The company hasn’t existed long enough to have legacy code.)
I spent about 4 years coding in Java and C++, which was pretty fun. It was mostly AWT/Swing GUI apps, with some back-end magic coded in C. I also managed to piece together a multithreaded AWT app and a multithreaded C library (posix threads on VxWorks) with nary a hiccup, a task I’m somewhat proud of. I also wrote my blog and my wife’s website using Java.
Currently, I’m more likely to use VBScript at work, because the Only Language Allowed by upper management is Visual Basic, and they can’t spare a VB Classic license for the help desk. (VB.Net Express is not an option because the 1000+ workstations we manage don’t have .NET on them, thanks again to upper management.) Some days I feel like gnawing my foot off and escaping.
I really like Python. It’s what I play with at home, and what I’m re-implementing my websites in. I’m surreptitiously writing small one-off tools in Python at work, because:
[ul]
[li]it’s multithreadable[/li][li]it handles external modules much better than VBScript can[/li][li]it plays nice with COM objects[/li][li]I can make it run on any machine without first installing Python on it[/li][li]the syntax is pretty damn fun to work with[/li][li]it has a useful debugger[/li][/ul]
Also, if I ever need to shoehorn anything I write into .NET, IronPython (Python for .NET) was officially adopted by Microsoft. I haven’t had any issues porting my tools from regular Python to IronPython, none whatsoever.
PHP, on the other hand… It really needs more than just strictly-declared variables. Namespaces would be extremely nice, and would help clean up that horribly overcrowded and wildly self-inconsistent API. Thread safety would be helpful too, so that it’ll work well with Apache 2.0. And the arbitrarily-low stack size kills a lot of decent recursive algorithms.
PHP doesn’t suck so much as it blows steaming fetid chunks of now-spoiled brain cells. In my humble opinion, of course.
Just out of curiousity, what did you dislike about Lua? I’ve only dabbled with it, not enough to form an opinion.
Well, it appears to be that the design philosophy of Lua is to make it so that the language itself can’t do much. No objects, no arrays, no nothing. Like there’s no way to tell how many items are in an array, simply because “there are no arrays.” Internally, it apparently only has a table type. But the parser allows you to reference tables in different ways such that if you program a bunch of other stuff, and actually understand the intricate workings of Lua, you can use different ways of referencing the tables to spoof an array, an object, or whatever. So overall, the whole language is based on the idea of using a kludge-friendly interface to allow the language to become able to do what other languages inherently support. But I get the sense that the language was built this way mostly because the guy wanted to have a “clean” and simple language definition, than for any real good reason.
But really all that means is that, like VB you’re left to having to write:
i = i + 1;
instead of
++i;
VB and Lua just seem to prefer sticking to some greater design philosophy than to allow the shortcuts that let me code more stuff in less time.
Time was when I was disdainful of anything other than assembler. I liked the meticulousness of the code, the need for complete attention to detail, the complete control over everything, from registers to interrupts, combined with the ability to do big things in a small space . . . and, I admit, the feeling of doing well something few others were doing or could do at all. (I was doing operating systems development.)
However, that time has passed, and nowadays I’m happy with C++ and Visual Pascal. Java is OK for some things. PL/SQL is pretty lame, but necessary if you’re stuck with an Oracle database. Scripting languages are all still pretty skanky. Never had any affection for Perl, or VB (but haven’t had to use either for many years, thank Beelzebub).
I like modern IDE’s and ease of development and testing. But something in me misses the days of directly manipulating processor registers and busses, toggling lockbytes, reading binary and octal and hex at a glance, using individual bits as flags, and having to be creative about memory usage and code structure. One hazard of hanging around for a long time is a tendency to miss the good old days.
But as somebody else said, getting to do any coding is better than spending time in meetings with bozos, bean counters and bedwetters.
Can you give me some background on Visual Pascal? Are you using Borland’s OO Pascal or maybe Free Pascal with some sort of widget set? I have very fond memories of learning Pascal in high school and it would be fun to relearn some modern variant of it.
I’ve worked with APL, PL1, Fortran, ALGOL, C, BASIC, FORTH, Assembly, SAS, Mathematica, Maple, Scheme, and scripting languages like TKSolver, FlexPDE, SemWareEditor, Gambit, and Fluent. I also “program” with LabView, and have found the debates about whether it’s a “real language” are happening for a reason. I’ve enjoyed all of these more or less.
Using FORTH makes me feel like I’m grokking the most brilliant thing anybody ever conceived. I feel like if I ever comprehended even one C. H. Ting manual, I’d absorb the entire meaning of the computer.