What's Your Favorite Programming Language?

Recommended Videos

Infiniteloop

New member
Jan 14, 2009
124
0
0
Note: not which one you think is better, but the one you enjoy most and why. (Could be a multiple answer depending on all the things you do).

Mine are C/C++. I enjoy the ability to do high level programming and then jump down low if the situation calls for it.
 

roblikestoskate

New member
Oct 16, 2008
262
0
0
Although formally trained in C/C++ and Java, I've slowly come to prefer the elegance of MATLAB. Once you realize the power of vectorization, many operations become trivial and you can move on to the problem solving and software design stuff.
 

TheBluesader

New member
Mar 9, 2008
1,003
0
0
All I really know is C/C ++, so I guess I have no choice but to say it is my favorite. Like InfiniteLoop says, you can fairly easily do a lot with it. Which is certainly a plus for a boob like me who can otherwise barely balance my check book.

If I can find it.
 

Blank__

New member
Oct 9, 2008
78
0
0
I know a large variety of languages, but I have to admit that I'm really being sucked in by C#'s charm. I moved from interpreted to compiled languages many years ago. C was my first "real" language learned, followed quickly by C++ and JAVA. Because they are much harder to get into, I felt that they must somehow be better than fluffy languages like VB.NET or Python and began to scoff at their use. But now I'm finding that, yeah, they really are awesome for a wide variety of applications and C# superbly combines the power of C++ with the easy-to-write, quick nature of a VB or Pyton. C# is no JAVA clone, it one ups JAVA on a lot of levels.

Er, right, so I'd say that C# is my favorite, but I haven't finished learning all of its nuances yet, so, for now, this would be my list:
1. C++
2. C#
3. ActionScript 3
 

gamebrain89

New member
May 29, 2008
544
0
0
Right now I am learning C++ and visual basic, I am in college classes for both. OF the two, I like VB better. Its more interesting to work with, since you are actually making working windows forms. And the VB program I have helps alot.
 

Raptoricus

New member
Jan 13, 2009
237
0
0
C++ for me, though I like quite a few addon libraries, vannilla C++ for Win32 apps, Allegro is my favourite for doing 2D programming, and DirectX for 3D stuff :).
 

Gitsnik

New member
May 13, 2008
798
0
0
x86 ASM. Mostly because it stops people from fucking with my code, and partly because I do a lot of machine programming in my spare time.

Otherwise it's perl - most anything I can do in C (my first language) I can do in perl, and I can get it done in perl 20 times faster than in C.

If I need to improve my code I usually convert it from perl to C, but being able to get down into the memory management routines for my code is rarely a good idea for anything your average "programmer" is going to be doing - you're more likely to just screw it up and cause segfaults rather than complete your code.

So Perl for my day to day code, assembly for my hobby, C if I need it, and whatever language happens to be the most useful for whatever platform I'm on (I just finished modding a python program and am about to start on an applescript application). After all, it's best to use the right tool for the right job - too many people think "I can put /language/ code here!" when they shouldn't.

I'm reminded of a guy who wrote an entire logging application in perl, rather than spending two minutes to turn on remote-logging-syslog.
 

Uncompetative

New member
Jul 2, 2008
1,746
0
0
Infiniteloop said:
Uncompetative said:
The one I'm designing right now. Seriously.
Completely independent? Any plans on using an intermediary?
I'm completely self taught. Been programming since 1981. Started work on my project in 1992 thinking it would take me three years...

Oops. I kinda got that estimate wrong.

Self-funded hobby, so I suppose that means I am independent. The plan is to complete the project, use it for a few years for my own stuff and then make it open source. I don't subscribe to the "Release early, release often" ethos as I know that I couldn't keep up with any group of collaborators I might acquire and any leadership I might have would decentralize and the project would lose its strong design focus. I plan to release when there are no more important design choices to make as far as I am concerned and the source is there to be optimized and/or laughed at...

It is going to sound pretty ambitious, but what I set out to do was create middleware (that is a software environment that most people would assume was a new Operating System, but was in fact built on top of existing device drivers, filing systems, memory management, etc. hiding all of that architecture's design so that you weren't aware what it was running on). Initially, this was going to be on the PC (more of them), but my expensive laptop proved to be so faulty that I swore never to use another Windows PC and make the middleware run only on a Mac.

I wondered whether it was really necessary to carry on as I got used to the Mac OS as it was already very good. This undermined my resolve to continue for a while with the whole of the project, but I still worked on the language. As time passed I found more things about the Mac OS User Interface that I disliked, until I felt motivated enough to get back to the original grand plan of doing a complete environment:

- Suite of software tools
- Integrated Development Environment
- Graphical User Interface
- Language
- Software Abstraction Layer
- Host OS

Thankfully the design for the GUI is completely finished - that alone took 3 years of research - and I have to accept that it may need to be changed as I am a convert to UCD (User-Centred Design), which is where you test prototype systems on users and observe what they have difficulty with... and not stand over them telling them how to do it; the programmer isn't there when the product is deployed.

I'm hoping that the language will be much more productive and easier to maintain. As it is extensible there is no real difference between the core language, its libraries, services, user interface components, development tools and other software. Everything is open to reuse and I think this is such a powerful quality that this is why I think it needs to remain Open Source. (Although I have issue with the GPL.)

The reason it is taking so long is that I am finding out about other languages (both new and historical) and becoming enchanted with their cool central ideas. I then break apart the carefully assembled jigsaw of programming paradigms that I have made fit into a language at the time and then try to shoe-horn in another. The advantage of this is that the more 'styles' you support the more articulate and expressive you can be, more paradigms mean more flexibility. Although the real trick is to make the whole thing condensed, so that all of its aspects are in regular use in some small way and do not fall into some rarely visited annexe.

I can't really talk specifics about which languages I am "stealing" ideas from, but suffice to say it is nothing like C++ and isn't object-oriented.

I'm not really bothered about the scale of the enterprise. I need something to keep me busy.

The eventual long-term goal is to make the tools to make 3D videogames with very simple graphics and incredibly deep gameplay. It is my view that games have focused on the former at the neglect of the latter. However, I know that it is a lot of work to write a game and even more work to do the things I aspire to accomplish with next generation gameplay, which is why I have made such an effort over the language I will use.

I hope that answers your questions. I didn't know how much to say...
 

mokes310

New member
Oct 13, 2008
1,898
0
0
SQL is my language of choice. Pretty much because I was trained on it in the corporate world for reporting.
 

filbertim

New member
Feb 19, 2009
44
0
0
Python for the elegance and fun. Because at this point that's why I program.

But it really is quite fun making neat little logical structures in python. It's a little game...
 

superbleeder12

agamersperspective.com
Oct 13, 2007
864
0
0
I've had my most extensive experience with C++, I had a brief stint with java. But I've been looking at Python and I really think I could get into it.

I do some bash scripting too on my linux box. I have a script on my linux box that allows for quick wget commands from websites.
 

Alex_P

All I really do is threadcrap
Mar 27, 2008
2,712
0
0
For really easy tasks, I like sh/bash. Simple, easy to write, easy to run, all the hard stuff is handled by little tiny programs and you're just making a little bit of glue.

For moderately complex or mostly-high-level tasks, I like Python. Python manages to be clean without sacrificing functionality. Python has lambda functions, which is awesome. It also treats classes as little more than big dictionaries, which (together with lambda functions) lets you do some crazy things very easily. The list comprehension code really puts most other languages to shame, as well.

I'm also fond of C++ with Qt. I don't find Qt's GUI stuff particularly noteworthy but I like the signals/slots interface, which makes it easy to write event-driven C++ code. This is what I happen to be using at work. C++ is quirky, messy, even monstrous, but I still like it despite its weaknesses and inefficiencies.

One of these days I am going to do something crazy in Common Lisp.

On the other side of, there are languages that I use/used that I absolutely hate: Perl and Java. They're evil. Well, Perl is evil; Java is just clunky. While we're at it, XML is clunky and horrible, too.

-- Alex
 

Alex_P

All I really do is threadcrap
Mar 27, 2008
2,712
0
0
Blank__ said:
But now I'm finding that, yeah, they really are awesome for a wide variety of applications and C# superbly combines the power of C++ with the easy-to-write, quick nature of a VB or Pyton.
You know what else combines the power of C++ with the easy-to-write, quick nature of Python? Python. :)

-- Alex
 

sarkeizen

New member
Jan 8, 2009
30
0
0
Hmm top three? If just for enjoyments sake?

C - I love the idea of being able to easily specify something at a very low level and not have to worry about the compiler/run-time second guessing me. For example one of my employees was taking a C course and the instructor mentioned how pointers were computationally cheaper to manipulate that data structures and gave an example program manipulating pointers to ints. When my employee showed me this I showed him that although his instructor was correct in general his example was flawed. An "int" is implementation dependent and if sizeof(int) was < sizeof(*int) then the trivial example would be incorrect. It was easy to write a program to demonstrate this too.

Lisp - Anyone who's read the classic "Structure and Interpretation of Computer Programs" knows lisp or one of it's dialects. It's great for playing around with abstract computer concepts.

Perl/Python/Lua - Perl is great for banging out some clever piece of glue code and CPAN is great because often someone's already done the gruntwork for you. That said I'm starting to warm up to python (and I'd have done so more quickly without the moronic whitespace semantics). So my work sees some Perl but my play tends toward Python. Oh and writing projects to embed a microscripting language like Lua is pretty rockin.

I do a fair amount of work in Java, PHP, C#, Javascript (As everyone wants to deliver RIA's now) and occasionally mess around with Ruby or assembly.

Interesting that some people are talking about creating their own language. I think I wrote my first language spec when I was 17. I've often thought about creating a language that only did object composition instead of subclassing and using a highly simplified set of syntax rules (I always get annoyed when hot new language X - I'm looking at you Ruby - implements some standard operation in some idiosyncratic and internally inconsistent way). I'd actually argue that adopting multiple programming paradigms does nothing for a language. Just take a look at the "modular programming" support in C++ (first few chapters of Stroustrup book IIRC) hardly anyone uses the language that way. Conversely see how languages like Java have forced an object model on you (well, at least a base object) and people still use it to write mostly procedural code.

IMHO the reason people use languages are probably based less on the language itself and more on it's internal and external support for functions. For example PeRL's integration of regular expressions really makes it easy to do complex matching in a standardized way. Rails is a good example of how a decent language (Ruby) attracted a near cult following by providing a pretty slick framework.

Anyone still interested in creating a language should check out the Parrot project. A register based general VM for implementing languages.