What languages are you comfortable in?

I recently came across another Java misconception - that if you use/like Java. since it’s viewed as a simple language. you can’t possibly know anything of or be skilled in any other langauge. I’m interested to see whether it’s actually true…

Are you a Java only fan? Or are you comfortable (could pick it up and use it now) in other languages?

Scarily this actually came up in a friend’s job application. Doing Java for 2 years meant that they couldn’t be considered for a C++ role (which the friend is also skilled in).

Kev

PS. C++, C, C#, PHP, TCL/Tk for me from the list above.

Java, PHP and Python for me. My C/C++ days are totally over. I also did Pascal (yuck) and VB(S) (ASP) (extra yuck) in the past for a few hours. Wrote an exam for my bro (haha) and some forum stuff. It was pretty easy to pick up thanks to my general flow control knowledge from C. It’s totally the same after all… just with other syntax.

And hum… simple language? How’s that measured? By the amount of options you have for shooting yourself in the foot? C for example is imo simpler than Java. There are less keywords and basically no high level concepts.

But being simple doesn’t mean that it’s easy to use or that it’s productive. Obviously.

I’m a Java fanboy. I love the standardized documentation, the strong typing (makes the documentation so much nicer, too), the coding conventions (not the conventions itself… but its very existence), meaningful error messages and stacktraces.

It saves time and there are way less reasons for being pissed off, which is certainly good for your health. (Seriously. If you’re often angry and frustrated, your lifetime will be reduced by years.)

I’ve not done any C/C++ for a while, but I was quite comfortable with it when I used it. I’m fairly sure I could get back in to it with out much hassle. I’ve used some of the others, but wouldn’t say I was comfortable or proficient with them.

I have had the same issue though. Having not done any C++ for a couple of years, I was getting to interview stages, but no further for C++ jobs. That could just be that I suck at interviews though, I don’t seem to get any feedback unless it’s a yes, we want you on 1/2 your last jobs salary.

Endolf

Well, there are degrees of comfortability…

Java, c, c++, c#, vb (and vb.net!) and php. I’ve done perl and python stuff too - but I wouldn’t say I was comfortable with it :slight_smile:

But mainly Java and php these days (and some javascript and sql)

Wouldn’t touch LISP or Python again with a barge-pole, and haven’t done anything worth mentioning with Ruby nor TCL, but other than that can program easily in all of them. I could program again in LISP and Python, but I’d need to go revise them. Hate C too, but I did it for long enuogh that I can still program fluently in it, usually without an IDE.

A few others I’d have ticked and I suggest you add, because this kind of stuff is very sensitive to the particular career path of the reader:
Javascript (syntax very similar to VBscript, but in practice IMHO a different lang due to browser + DOM evilness)
ARM assembler (or any other RISC, but ARM is best IMHO) (completely different from x86, which I’m assuming you were talking about)
Bash (if you’re including perl, the more powerful *SH’s are very close and used in many of the same situations. I haven’t written a game in BASH, but I’ve played several by other people)
SQL

I hate C++, although I know it and used it for courses at my university, I prefer Java’s simple and elegant language set rather than C++'s bloated makeshift oo languate set.

Still like Haskell since my first CS course at university :slight_smile:

I used to use Pascal, C++ and Eiffel as well, have to do bits of Perl for work and I occasionally make a stab at learning Lisp but most of my paid work has been or is currently Java, C#, PHP and Ruby. Used to have to use old VBScript as well but that really is such a simple language it doesn’t count…

I’m not sure I’d want to think of PHP as a full-fledged language either really - it’s very good for quick-n-dirty web stuff but I wouldn’t want to use it in any other context whereas the other languages there are more general-purpose. I know people do use it in other contexts, but if they knew any other languages they wouldn’t.

I kind of think that once you’ve learned a few languages they just become different icing on the cake of programming technique. Except Lisp, which does seem to be a whole new cake of it’s own, or at least icing with a significant marzipan layer.

Java and Ruby for me… I came across it because of Ruby on Rails and I must say it really does the job! Both rails and ruby alone. In fact I’m planning on using JRuby as scripting language for a game :slight_smile:

Not my description, but it does seem to be the percieved view of Java. It’s a “baby language”. Personally I see the simplicity as a boon not a failure. Simplicity and power combined - nice.

Yeah, I was trying to think of a way to clarify it. I mean you could pick it up today and do useful real scale stuff in it (this doesn’t include hello world or other assocaited uni type assignments).

I just noted down the ones I could think of and then checked against the top 10 in the TIOBE List. By assembly I meant any processor (hence any proc). I’ve programmed in a bunch from VIC20s, Z80s up to PICs and 8086/88. Wouldn’t call myself comfortable now though - wouldn’t be able to just pick it up. I’ve never considered pure SQL (without DB specific extensions) a programming langauge - in much the same way HTML isn’t a programming language - but each to their own I suppose.

Thats close to calling Java “simple” in a derogatory way. PHP does have everything you expect of a langauge and is widely used in huge applications - especially with the advent of PHP objects and PHP5+. Still, I’m mostly of the same opinion based on my past experience and usage of the language.

All very interesting comments - and I see already there is a definite range of experience here at least.

Keep it coming :slight_smile:

Kev

EDIT: PS. Who else other than me can speak and understand Management BS?

Yeah, I mentioned those just because they seemed to be in the same vein as the ones you described. I still think it is worth making the difference between RISC and non-RISC assembly though :).

Not me :frowning:

Besides Java, I’ve worked (in various degrees) with C, C++, Delphi, C#, VB, PHP and assembly (if you count obsolete CPUs too)…
Actually JEmu started out as a Delphi project. Later I rewrote it to C++, and then again in Java (which I sticked to).
I’ve done some work related projects with VB and PHP, and I’ve done a lot with C (some time ago, but I’d quite easily pick it up again).
A long time ago I programmed assembly on Z80 and 68000 CPU’s, which are of course obsolete since long. Still I’m going through so much disassembly debug traces in JEmu2 that I could still program those CPU’s. Not that I ever really need to…

My opinion is that learning a language is the easy part of programming.

I use Java, Javascript, CFML and SQL on a daily basis. Have used PHP, but it’s been a long time. Never had a chance to do any real work with C/C++.

I can’t say I’m fan of a particular language. They are all great and they all suck in different situations. I admire SQL’s power though (if you know what you’re doing).

[quote]Thats close to calling Java “simple” in a derogatory way. PHP does have everything you expect of a langauge and is widely used in huge applications - especially with the advent of PHP objects and PHP5+. Still, I’m mostly of the same opinion based on my past experience and usage of the language.
[/quote]
So what you’re saying is, it’s like calling java simple, the only difference being it’s correct? ;D

I quite appreciate that you can do a lot with PHP and you can do very awesome web apps with it, but when people are using it for command-line scripting or windowed applications that just seems to me a bit like using a sledgehammer to paint a watercolour. There are better tools for the job.

I think if someone could only use Java (or any other single language) I would think twice about offering them a job - even if the work was entirely Java based - because I think you learn things about how languages work by using different ones. I also think that if someone has been programming for a few years and hasn’t experimented with different languages they probably don’t have the kind of mentality that (in my opinion) makes for a great programmer. I think a lot of old-school VB6 programmers fall into this category, the whole “it works for me, I don’t see why I should change it” kind of attitude…

From this list I’d say I’m comfortable in Java, Perl, PHP.
I used to use C, C++, Pascal/Delphi, VB and Assembly all the time, but 7 years have passed and that’s all quite rusty now.
Still I find myself converting some C++ and Delphi code into Java from time to time.

i dont see whats wrong with that attitude, if you can do something in language x, then why do you need to learn language y?

I am most comfortable in java and php. I have done things in other languages but long enough ago to at least feel I have forgotten alot of it. .)

Interesting to me that no one so far admits to be comfortable in LISP (is it possible to be comfortable there?) :slight_smile:

Kev

In some cases the employer might be right.I learned java before I learned c++ . And it’s very hard for me to switch.It seems I’m regressing. No certain api to learn ,too many compilers, so much useless and hard to read code , no portability and probably above all : no array bounds checking etc. It’s probably not very common , but this is how I feel when trying to learn c++.

I’m comfortable with Java, C, C#, C++, LISP, Pascal/Delphi and Management BS :o)

I’ve done some ASM, but not recently enough to believe that I could jump right back into it without a little work (although, I did write a custom VM with it’s own bytecode which was very ASM-like!)

I fully agree with you that people think that putting up with C, C++'s foibles proves that you’re somehow a ‘tough’ programmer - if that isn’t a laughable idea. To me that;s just the measure of an immature programmer. Realising that you can be more productive by letting the computer (and language) do more is a mark of maturity to me, not a lack of skill.

In fact, it’s unskilled fanboys who seem to think they’re somehow superior because they use pointer artithmatic. (I love obfuscated C code as much as the next nerd, but I’d not want to base a million line project on that kind of cowboy shit)

Cheers!

Peter.

Oh, I just added myself as comfortable with LISP. Loverly :o) In fact, the programming language for my custom VM was a LISP variant :o)