Favorite programming language

My favorite is F# -- it's powerful and elegant without being overly-complex. (BTW, F# 3.0 is in the ports tree as of today, in lang/fsharp).

Runners-up are Haskell, C#, and C.
 
Carpetsmoker said:
Cyclone is an interesting language focused as fixing some of C's perceived flaws:
http://en.wikipedia.org/wiki/Cyclone_(programming_language)

There are some good academic papers floating around if you want to read more about Cyclone. Another interesting C variant is Single-assignment C (SaC) -- it's a functional-language take on C with some uses in high-performance computing.

If you want full-on insanity, check out ATS (https://en.wikipedia.org/wiki/ATS_(programming_language)). It's a dependently-typed functional language intermixed with C -- the result is both extremely complicated and extremely fast.
 
My favorite programming languages are Applesoft BASIC for the Apple II/e/gs and Assembly / Machine Language for M68k/MOSTEC-6502, but I haven't used them for many years. Today I mostly play with C/C++/Perl with a bit of Assembly thrown in when needed.
 
gpatrick said:
This question was asked on another forum, but since there is more activity here I thought it would be interesting to see responses to favorite programming languages.
(Turbo / Borland) Pascal and Java (with an expansion to C#).

Now, keep in mind that I'm a semi-professional developer, meaning so much that it's not my primary job. My main job and interest lies in systems administration, but the beauty of that profession (in my opinion) is that it can become so broad that it will easily include programming (think making shell scripts for example).

Pascal is the first "real" programming language I learned (apart from having taught myself Basic and Assembly on the Commodore 64), and although I hardly use it any more I still like to think back with fond memories. Even tried using FreePascal once on Linux but nah; I admire the effort but I sort of closed this chapter. But being able to use inline assembly code and having access to TurboVision still manages to impress me (in a way TurboVision was the 'engine' behind the Pascal IDE itself).

But Java is my primary programming environment, though this has now heavily shifted towards C#.NET. I ran into Java when I started administering Solaris servers, and during a customer installation (which initially triggered an error) I recognized a "Java stack trace", which sparked my interest in the language considering that Sun was obviously using Java themselves (in this time to develop their own OS installer).

I quickly picked up NetBeans, version 4.1 at that time, and basically never looked back. Needless to say; the main advantage back then was obviously being able to target both Linux as well as Windows environments.

The main things which make Java so appealing to me are the clean cut structure, the very easy way to setup / build your own documentation (Javadoc) and the development environment (NetBeans) itself. I really enjoy being able to use Java to extend on my programming environment which has it's roots deep into Java as well. It's not so much an IDE but a complete platform as well, which you can use to build modules for it or use it as a framework for your own applications. And the initial embrace of UML also managed to spark my interest, though I currently rely on an external (commercial) solution for that.

Alas, due to recent events all this has now shifted towards C# (basically .NET as a whole since I also use other aspects as VB.NET and ASP.NET) and this currently forms the core of my primary development environment (the environment itself is now Visual Studio 2012 Professional).

Even so, Java is still my all time favourite language.
 
I've been lately looking into Objective C and Ruby. Objective C looks like a pretty neat language, kind of C combined with Smalltalk. Ruby because I like Python overall but I strongly dislike the choice of using whitespace as a syntactic element.
 
kpa said:
I like Python overall but I strongly dislike the choice of using whitespace as a syntactic element.

I have to tell you that I would be glad if other languages take the same formatting approach (or a similar one). And I have to say I don't like Python very much...
 
fluca1978 said:
I have to tell you that I would be glad if other languages take the same formatting approach (or a similar one). And I have to say I don't like Python very much...

I understand that it results in cleaner and much more readable code since you have to follow the indentation rules rigorously. However, I've learned programming with languages where whitespace is throwaway and not having to bother about whitespace or indentation is more natural for me.
 
kpa said:
not having to bother about whitespace or indentation is more natural for me.

That's the problem: you have to bother!

You have to adhere to a style(9) or your code will be rejected. Therefore, having a language that allows you to switch from one style to another is just a false-truth, because everyone coding will adhere to one pretty much rigid way of writing code.

And again, please note that I'm not a Pythonist (quite the opposite, I like Perl), but having worked with several languages and teams, I find ridiculous to start over again every time the battle of where the brackets should be, how much spaces to indent a block, change my editor (Emacs) settings to use K&R style or Java one and so on....
 
fluca1978 said:
That's the problem: you have to bother!

I'm glad I don't have to bother.

Code:
prices = {
'apple':   0.40
,
               'banana': 0.50}
my_purchase = {'apple': 1
,
    'banana': 6}
grocery_bill = sum(prices[fruit] *
 my_purchase[fruit]
                   for fruit in my_purchase)
print 'I owe the grocer $%.2f' % grocery_bill
 
kpa said:
I understand that it results in cleaner and much more readable code since you have to follow the indentation rules rigorously.
For whoever cares: Amanda (a functional programming language similar to Haskell) uses sort of a compromise: in certain cases certain things need to go to the left or right of what's above, but otherwise one is free to do whatever one wants.
 
ChalkBored said:
I'm glad I don't have to bother.

Code:
prices = {
'apple':   0.40
,
               'banana': 0.50}
my_purchase = {'apple': 1
,
    'banana': 6}
grocery_bill = sum(prices[fruit] *
 my_purchase[fruit]
                   for fruit in my_purchase)
print 'I owe the grocer $%.2f' % grocery_bill

While the above is fine for home projects, nobody will take into account code formatted in such a way, and patches will be rejected if not properly formatted. A lot of big projects have developed not only styles and conventions, but also whole programs to check that all the rules are applied. And if formatting rules are not applied the patch will not be considered at all, even if it works!

Think like this: you can write in English, but writing a book requires you to adhere to printing-conventions, or nobody will buy and read your product.
 
fluca1978 said:
While the above is fine for home projects, nobody will take into account code formatted in such a way, and patches will be rejected if not properly formatted. A lot of big projects have developed not only styles and conventions, but also whole programs to check that all the rules are applied. And if formatting rules are not applied the patch will not be considered at all, even if it works!
Think like this: you can write in english, but writing a book requires you to adhere to printing-conventions, or nobody will buy and read your product.

I was just illustrating that it wasn't a problem Python solves. All Python does is break when you don't paste it inside
Code:
[/file] tags.
 
Back
Top