Software Development

What type of programming language do you prefer?

Justin James has used various programming languages and says he has come to appreciate different aspects of each one. Tell us in the forums what type of programming language you prefer.

I've managed to use, at some level or another, programming languages that are quite different. Some languages I've used include Pascal, COBOL, BASIC, Scheme, VB.NET, C#, Perl, JavaScript, SQL, VBA, and Java.

Along the way, I've come to appreciate different aspects of each language (although I must admit, I struggled to find much to like about some of them). Some languages are object-oriented; some are procedural; some are functional; and a few are declarative. Most are compiled (and strongly typed) languages; some are interpreted (with a combination of strong typing, dynamic typing, and duck typing); and so on.

Tell us in the forums what type of programming language you prefer. And, let's not make this a "my language is better than yours" discussion, but rather focus on what kind of languages we prefer.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

104 comments
LordOrion
LordOrion

I prefer object-oriented C/C++ as well as interpreted for convenience of learning them and having organized code.

clementsiby
clementsiby

C#, easy, covers most things i want to write.

ignacia84
ignacia84

SQL would be user friendly&open source

piolin70
piolin70

I like C/C++ for almost application because it's robust, strong, faster and portable for almost platform. For web application I prefer PHP, Perl and Java, but if the application require high performance i use C/C++ via CGI.

inet32
inet32

As a software engineer who writes large projects which may need to be maintained and enhanced over years and by many people, I prefer versatile, highly readable, strongly-typed object-oriented languages with rich class libraries, and which enforce good programming practices. Also, sharing a common underlying layer such as .NET's CLR makes them get along well with other languages in the family. My current favorite is C#. I can use it to write a desktop app or a website; a big multi-engineer yearlong project or a quickie little 30-minute utility with a good UI; it interacts well with Java.net, managed C++, or VB.NET, and it has a rich, powerful programming environment in Visual Studio and an extensive class library.

johanne
johanne

Ruby,it is truly object orientated! Its reads like a spoken language! Is interpreted! All data structures have build in iterators which can be given code blocks to make them custom

weising
weising

since (1997) I started building websites, I fall in love with client-side JavaScript. Especially when I need to create a prototype in a very short time frame, I can always focus more on the business model and UI responsiveness without messing around with those typed conversion.

lomsadef
lomsadef

I am a beginner programmer. Although i realize that, different languages means different advantages or disadvantages, i look at whether it is available a good visual developing environment or not freely. Since technology is widely spread around the world at this era, GPL compilers and IDE's products available for most of the computer languages. Among them, i prefer the one has good debug options and visual error response to the user, since i am a beginner! I do not want to harm my hardware by program using lots of pointers for instance. Also, writing a code in some languages is easier than the others such as no need an ";" at the end of the each line ! Again, this small detail is very annoying sometimes for beginners, many of the errors due to this small-things, and once you get used to it and try to learn another language with different syntax, it becomes a bad habit! Therefore, i want to emphasize that, since universal syntax does not exist in programming languages, i prefer easier ones.

suyalpravesh
suyalpravesh

I prefer to use Java when while coding for performance/security/enterprise development, where my focus is on distributive,design-patterns,N-tier architecture. While for common scripting/programming/day-to-day tasks like parsing a text file to extract some information, or general administrative tasks, which do not require heavy design/paradigms i prefer dynamic languages like Perl,Ruby,Python. There is a need in todays programming world that you master either Java+J2EE or VB.net+C# or LAMP for the enterprise development. Added with any dynamic programming language for general scripting like Perl/Ruby/Python

hasan_ms
hasan_ms

Java because I'm Javanese :) sure, do u know Filemaker it's so easy to develop app.

rayweglein
rayweglein

I prefer languages that have a programming evironment that works. Rather than having to remove/reinstall visual studio- to get it to rebuild unchanged projects, we are examining other IDEs - with whatever language they support.

etronm
etronm

Almost 20 years ago I had to develop some applications for a Tandem Computer, with TAL, between c and assembler... that was a real powerful language... now I like c#, phyton... but I want to move to linux proggraming, so I will give a try to wxWidgets and Phyton

mattohare
mattohare

I admit, I do like the strong types. When it comes to production, I also like compiled. But then, I also like to have my database server enforce foreign key constraints. These are all good ways to ensure catching some annoying logic bugs early on in the development process. The more I learn of Ruby on Rails, the more I think it would be better with all of this.

christov
christov

Error handling is allways a problem. Have the statements with error handeling eg: Read record from database then success section else error section end read I prefer module type code as to objects - easy to read the program.

htroque
htroque

This is obvious for a lot of us. As long as the programming language I would use can finish the project I'm working on, it would be my preferred programming language. My other considerations would be the availability of support and suitability of the programming language for project maintenance.

andrews
andrews

I have been programming for almost 40 years (did you realize computers have been around that long?) so have programmed in many languages. Just over a year ago I ventured out of the world of Microsoft into the Open Source land - and discovered Python. What a wonderful language, and it runs on Windows, Mac and Linux. Although I know many will dismiss Python as a scripting or interpretive language I have found it amazing - and fast - especially in conjunction with wxPython (based on wxWidgets) for building the GUI. Different but very impressive - and so elegant.

jmseillon
jmseillon

with c/c++ and python, you can make anything.

al6aweel
al6aweel

A Prefer JAVA because it has the most success factors KPI's

bragosso
bragosso

Years ago i use SAS on Mainframe Platform, creating on the fly subroutine to use un the same program... It was really a pleasure

jslarochelle
jslarochelle

Well, I guess it is mostly a question of size and lifetime.The other factor is who is likely to have to modify and reuse the code. The last factor is company policy. Small programs with short to medium lifespan For those I will reach for Groovy if I know someone else on the team is likely to need it and modify the thing. If it is really a throw away thing that nobody else is going to look at then I often reach for Ruby. Larger programs with a longer lifespan On the JVM I like to use Java for those and on .NET I use C#. On some projects I use both and for those I use C++/CLI to jump from my native JNI code to the managed .NET universe. One additional factor goes into the choice of language here and that's company policy. If it were not for that I think I would switch to Scala on the JVM. Scala manages to offer many of the advantages of dynamic languages on a language that is statically typed. It also offers a good number of other advantages. JS

Maarek Stele
Maarek Stele

PHP, Python, and anything Java! Throw in some MySQL for databases and you can build any application.

wadebr
wadebr

Assembly!! I admit it is not fast production from code to useful end item, but when you have to use it you are usually doing something very interesting.

Shaunny Boy
Shaunny Boy

Gets my vote! Best thing for programming since slice bread. I want to learn Ruby or/and Perl, but not sure or to lazy to find out how easy they are to pick up. I hear Ruby is OO in absolute perfection, but if it doesn't have intellisense, as developers commonly say, I'll probably look at it later...

Tony Hopkinson
Tony Hopkinson

Using a continuation character (e.g. _ in VB), or taking LF as end of statement, and having to break up your code, scroll right or worse still, use abbreviations instead of meaningful names, is a way bigger problem in my opinion. There again, I've been using semi-colon for decades and find languages that use something else an immense irritation. :p

Tony Hopkinson
Tony Hopkinson

I make mistakes, there I admit it, now I feel much better. The help I want is you may have made a mistake, or you have made a mistake. Not my compiler helpfully instantiating some classes, doing a couple of implicit casts and then happily reporting compiled OK. That's a mistake, we were trying to stop them getting into production, not hide them until they do.

jefferyp2100
jefferyp2100

Strong types and a compiler help reduce errors and prevent hard-to-find bugs. Priceless

Tony Hopkinson
Tony Hopkinson

Nice powerful language, a bnice simple start as well, with some very powerful well described features. The indent for a block though, drives me f'ing nuts.

Justin James
Justin James

I just finished learning (or getting a firm foundation in) Ruby, which I really liked, but since I discovered that IronRuby is not ready for usage, and IronPython is, I'm giving Python a go next. J.Ja

tjdupreez
tjdupreez

I agree in full. Even though I am a newbie (finishing my honours soon), Pythhon is excellent for those quick clear problems. I wrote a script to import data from CSV files to a MySQL database recently, and it took a third of the time it would've in anything else. Enjoy the Cape!

jmseillon
jmseillon

anything with c/cpp and python

Vladas Saulis
Vladas Saulis

While I started my carrier from Fortran and C, now I prefer highly dynamic environments such like LISP and Javascript. Possibly it could be Python and Ruby, but I think the last two must be evolved more towards LISP for me to use :). Dynamic environments doesn't limit me to one particular paradigm (procedural, OOP, whatever...). I can even invent my own new paradigms - call it what you like. My current development is mostly done with Javascript at both client and server sides. PROGRESS RDBMS for the database backends. Linux, shell, some Perl for application or system administration.

Jaqui
Jaqui

not until Sun releases the sources for their jvm/jre/j2ee and anything java = bloated garbage, it's designed into the language.

gep2
gep2

SNOBOL4/SPITBOL is a lot more fun, and more powerful, and much higher performance. Failing that, if you want in intriguing (and more superficially familiar) language that excites you intellectually... try Icon.

mattohare
mattohare

but how we recover and learn from the ones we make.

jslarochelle
jslarochelle

I have been burned once with a bug in Cobol (or was it Fortran ?) because the line of code did not start on the correct column on the punch card and got turned into a comment. Because of this for me white space in a language should be (as much as possible) meaningless. This is sad though because other than that Python is a nice language. JS

jslarochelle
jslarochelle

I don't need language X to become like my favorite language Y if I can find a use for X. Also, for medium to large projects I definitely prefer statically typed languages. One of the reason for this is that the compiler can catch more problems and the second reason is that I like to document my code using code as much as possible. JS

zdnet
zdnet

There are plenty of open source implementations of the JDK (and JVM/JRE/JavaEE). I'd be interested to hear what language you think isn't bloated, the only bloated thing about Java IMHO are all the deprecated classes. I have yet to find a language that isn't bloated (at least for anything that is mature and usable).

Tony Hopkinson
Tony Hopkinson

Strong typing (static or dynamic) to me is a no brainer. I've always seen loose typing as a crap implementation of dynamic and strong. The pople who came up with it, quite obviously learnt a different lesson, and the wrong one in my opinion.

Vladas Saulis
Vladas Saulis

I personally think that the language I use has an instant imapact on my capabilities. The same applies to spoken languages as well. I also found that the right language choise gives more diversity that choosing diverse languages.:)

Tony Hopkinson
Tony Hopkinson

Without the source for the jvm, it's closed. Which bit of this don't you get?

zdnet
zdnet

That's the beauty of the open spec: you build an implementation to the spec, pass a test, and it IS Java. It's not a clone, it's certified Java. Please get your facts straight. Sun open sourced Java a while back: http://www.sun.com/software/opensource/java/ Open JDK was released as a fully buildable set of code in 2007, with the exception of a few bits of encumbered code: http://www.sun.com/software/opensource/java/faq.jsp#h, As of JavaOne 2008, the only remaining encumbrances are the sound engine, SNMP code, and a few data configuration files within the imaging APIs. The SNMP code is not strictly required by the specification. So nearly all of the encumbered components have been replaced by Free software alternatives. Any bit of source code you want to look at with the exception of those bits is there, so I don't get why you think it's not open source.

inet32
inet32

"SUN's products ARE Java, everything else is a CLONE." Correct. Infact, according to Businessweek, Java is the main reason Oracle bought Sun. If Java was open-source they wouldn't have needed to spend the money. A couple of jobs ago we used to use Java - its motto was "write once, run everywhere". We used to call it "write once, debug everywhere". It IS too bad the open source community hasn't developed a true open-source programming language of its own with the scope and capabilities of a modern language like Java or C#.

Jaqui
Jaqui

for SUN's jvm, jre, j2ee sources. without those links, Java is proprietary. EVERY other jvm is a CLONE, not the ORIGINAL.

zdnet
zdnet

Do a search before you make statements which show that you are uninformed: http://tinyurl.com/oqx774 Apache has a JDK (Harmony, open source), IBM has a JDK, Oracle has a JDK (from Weblogic). What Sun (and soon Oracle) controls is the community process for the spec. Apache's is open source (used to be the only one available for Mac that was built to the current spec). It is now called Harmony Sun has open sourced Java (http://openjdk.java.net) and you can contribute if you consider it bloated (in fact that is how version 7 of the JDK is being built http://jdk7.dev.java.net). The only parts that may not be open source in Sun's JDK are things that it licenses from third parties.

Forum Surfer
Forum Surfer

I've worked on the implementation/design phase of many projects that consider utilizing Java. Most of the time if "product x" does work with a java interface, it just barely works. Then when the newest java platform comes out, something breaks. Needless to say, when I get a request from our programmers to work with them on Java testing, I always roll my eyes and get prepared for lots of failures. My programmers whine about Java, too so I get the impression that sometimes it is forced upon them by some manager or sales guy that is madly in love with java. The only two types of people I've talked to in my career that praise a product's Java interface are either the application guy that wrote it and refuses to believe his last 3 years worth of work is unusable/unstable crap or the sales guy trying to push me the product claiming "cross platform interoperability."

Jaqui
Jaqui

the point. SUN's products ARE Java, everything else is a CLONE. until Sun's are open sourced, Java is proprietary. and Apache's Tomkat server isn't a jre. Apache's httpd server isn't java [ it's written in c ] I've yet to see any Apache Software Foundation Project for a java environment / jvm / jree

Second and Goal
Second and Goal

That my production implementations of java apps have been limited - but the reason for that is that they just don't work well. Sure, they can be "easily ported across any platform", but my experience with them is that they just work like crap on all the platforms. Even commercially written, high-priced java applications (one I have to deal with every day is the Pervasive Control Center for the Pervasive Relational Database Engine) seem to be crap - crashing, hanging, and horrible performance.