Your favorite programming language

Started by wm.annis, July 11, 2010, 06:56:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

So, what language do you like the most?

C
5 (20.8%)
C++
6 (25%)
Objective-C
0 (0%)
Java
1 (4.2%)
C#
3 (12.5%)
PHP
1 (4.2%)
Perl
2 (8.3%)
Python
3 (12.5%)
Ruby
0 (0%)
Lua
0 (0%)
Lisp
1 (4.2%)
FORTRAN
0 (0%)
Cobol
1 (4.2%)
Scheme
1 (4.2%)

Total Members Voted: 23

bommel

Quote from: hawnuyu na'viyä on July 12, 2010, 11:28:14 AM
Quote from: Txur'Itan on July 12, 2010, 11:07:57 AM
But, If I was going to code a windows game, I probably would use C#, it seems so far there is a bit more Direct-X and games development tools coming out in support of C#.
Why? You can either go for the XNA route or the P/Invoke route. XNA appears to lack the fine control, and P/Invoke just ends up making messy code. I would use C++ and the good old win32 api along with normal DirectX if I was to make a game properly.
In fact, using C++ with the DirectX SDK is still the way to go. Though XNA is coming but you can't reach the full performance with it as it is no native code.

Txur’Itan

Quote from: hawnuyu na'viyä on July 12, 2010, 11:28:14 AM
Quote from: Txur'Itan on July 12, 2010, 11:07:57 AM
But, If I was going to code a windows game, I probably would use C#, it seems so far there is a bit more Direct-X and games development tools coming out in support of C#.
Why? You can either go for the XNA route or the P/Invoke route. XNA appears to lack the fine control, and P/Invoke just ends up making messy code. I would use C++ and the good old win32 api along with normal DirectX if I was to make a game properly.

Quote from: Txur'Itan on July 12, 2010, 11:07:57 AM
If I wanted to build a scientific calculator, I would still use C++.  FORTRAN supposedly has some built in functions for that sort of formulation, but I don't know Fortran syntax, and never bothered to learn it.
This intrigues me. The double type is too small for a true calculator, and to do bigger would mean using a library such as GMP. Why not just use a more functional programming language (Lisp/Ruby) to do this?


For bash, I agree on its usage. It was only ever meant for automating processes anyway.

XNA is still fairly new from my perspective.  I have no opinion on it yet.  However, it is not likely to intrigue me as it is yet another abstraction layer that muddles up the level of programming I prefer to work with.  I don't particularly like being tied to Microsoft platform development if I don't have to be.

Lisp I have never used, I think that I would probably use that for the same reasons I would use Fortran, but it would depend on how much I would need to do to get the specific job done.

Quote from: bommel on July 12, 2010, 12:16:05 PM
Quote from: hawnuyu na'viyä on July 12, 2010, 11:28:14 AM
Quote from: Txur'Itan on July 12, 2010, 11:07:57 AM
But, If I was going to code a windows game, I probably would use C#, it seems so far there is a bit more Direct-X and games development tools coming out in support of C#.
Why? You can either go for the XNA route or the P/Invoke route. XNA appears to lack the fine control, and P/Invoke just ends up making messy code. I would use C++ and the good old win32 api along with normal DirectX if I was to make a game properly.
In fact, using C++ with the DirectX SDK is still the way to go. Though XNA is coming but you can't reach the full performance with it as it is no native code.

I would not have known this, since I don't use XNA yet.  Not exactly a winning endorsement for my preferred coding environments.
私は太った男だ。


bommel

Quote from: Txur'Itan on July 12, 2010, 01:07:32 PM
I would not have known this, since I don't use XNA yet.  Not exactly a winning endorsement for my preferred coding environments.
I have played with XNA a bit some time ago and it is quite nice because you can use the same code to write games for PC and Xbox 360. It's good for beginners who want to step into game programming because you don't need to write your own engine for example (but you could). I must admit that it is way easier to write code than with C++ and the pure DirectX SDK but as I mentioned before this costs a bit performance. Nothing in life is for free ;)

Tsamsiyu92

I have tried to learn C# and learned the basics, C++ scared me away at once. I want to study programming, more specifically video game programming in the future and I hope C++ isn't as hard as it looks like.

bommel

Quote from: Tsamsiyu92 on July 13, 2010, 11:20:55 AM
I have tried to learn C# and learned the basics, C++ scared me away at once. I want to study programming, more specifically video game programming in the future and I hope C++ isn't as hard as it looks like.
If you get yourself into it isn't that hard ;)

Btw: I'm currently planning a tutorial series on Java. So if you are interested have a look!

hawnuyuna'viyä

Quote from: Tsamsiyu92 on July 13, 2010, 11:20:55 AM
I have tried to learn C# and learned the basics, C++ scared me away at once. I want to study programming, more specifically video game programming in the future and I hope C++ isn't as hard as it looks like.

I took the C#->C++/CLI->C++->C route and didn't find it too difficult.
As with learning any language, once you know one, you can find similarities in others that make them much quicker to learn. (Like remembering a diff compared to two files)

Kekerusey

Quote from: Muzer on July 12, 2010, 10:48:25 AMWait, how can you say that when you had a VIC-20? With possibly the worst implementation of BASIC (Microsoft BASIC) of its time!

That's debatable and I say it with reasonable confidence because it's 1. where I started, 2. I can program PDG & 3. I still don't think BASIC Is that bad (like I said it's better than not being able to program at all).

Keke
Kekerusey (Not Dead [Undead])
"Keye'ung lu nì'aw tì'eyng mì-kìfkey lekye'ung :)"
Geekanology, UK Atheist &
The "Science, Just Science" Campaign (A Cobweb)

bommel

Quote from: Kekerusey on July 13, 2010, 03:57:59 PM
Quote from: Muzer on July 12, 2010, 10:48:25 AMWait, how can you say that when you had a VIC-20? With possibly the worst implementation of BASIC (Microsoft BASIC) of its time!

That's debatable and I say it with reasonable confidence because it's 1. where I started, 2. I can program PDG & 3. I still don't think BASIC Is that bad (like I said it's better than not being able to program at all).

Keke
I started my first programming experiments with QBASIC and DOS when I was 11 years old (+/-). However, I started my "real" programming with Visual Basic 5 when I was 12. Though I don't like the old VB that much nowerdays. But for me it was great back then: easy language and easy to build a GUI ;)

Muzer

Quote from: Kekerusey on July 13, 2010, 03:57:59 PM
Quote from: Muzer on July 12, 2010, 10:48:25 AMWait, how can you say that when you had a VIC-20? With possibly the worst implementation of BASIC (Microsoft BASIC) of its time!

That's debatable and I say it with reasonable confidence because it's 1. where I started, 2. I can program PDG & 3. I still don't think BASIC Is that bad (like I said it's better than not being able to program at all).

Keke

I'm not saying BASIC is bad - just that Microsoft BASIC is ;) (Well, the version on the VIC-20 and C64 - the later machines' versions aren't nearly as bad)
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

bommel

Quote from: Muzer on July 13, 2010, 04:10:52 PM
I'm not saying BASIC is bad - just that Microsoft BASIC is ;) (Well, the version on the VIC-20 and C64 - the later machines' versions aren't nearly as bad)
I guess that was prior my time ;)

Kekerusey

Quote from: Muzer on July 13, 2010, 04:10:52 PMI'm not saying BASIC is bad - just that Microsoft BASIC is ;) (Well, the version on the VIC-20 and C64 - the later machines' versions aren't nearly as bad)

And I'm saying it's debatable for reasons already given ... MS Basic was what I started with on the PC.

Keke
Kekerusey (Not Dead [Undead])
"Keye'ung lu nì'aw tì'eyng mì-kìfkey lekye'ung :)"
Geekanology, UK Atheist &
The "Science, Just Science" Campaign (A Cobweb)

bommel

Quote from: Kekerusey on July 13, 2010, 04:20:18 PM
And I'm saying it's debatable for reasons already given ... MS Basic was what I started with on the PC.

Keke
That's what I tried to say, too ;)
Back then I could write programs with it and I was happy.

Muzer

Quote from: Kekerusey on July 13, 2010, 04:20:18 PM
Quote from: Muzer on July 13, 2010, 04:10:52 PMI'm not saying BASIC is bad - just that Microsoft BASIC is ;) (Well, the version on the VIC-20 and C64 - the later machines' versions aren't nearly as bad)

And I'm saying it's debatable for reasons already given ... MS Basic was what I started with on the PC.

Keke

By the time it reached the PC, though, it had matured from what it was. PCs came long after the VIC-20...
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

wm.annis

All this talk of the VIC-20 makes me a bit nostalgic.

My first computer was a Commodore 64.  I learned so much about computers on that thing, just because it was possible for one person to actually know most of what was going on in it, if not always understand how best to make use of what you knew.  I learned BASIC.  I learned 6502 (well, 6510, but little difference) assembly.  I learned how to turn pixels into binary and send sprites floating around the screen.  I had a cartridge for the thing that turned it into a FORTH machine, which was quite the revelation.

Kerame Pxel Nume

Loving:
C, 68k Assembler, OCaml, Python, Lisp.

Hating:
C++, x86 Assembler, VB, COBOL

Atsawl

C# my favorite Because C# includes Intelsense but C++ not ::)
I hate C++

hawnuyuna'viyä

Quote from: Anakin on July 14, 2010, 05:53:44 AM
C# my favorite Because C# includes Intelsense but C++ not ::)
I hate C++

That reason is really badly based. The intellisense is a feature of the IDE, not of the language.
If you program in C++ in Visual Studio, it will provide the same for that too.
If you use another ide then there are equivalents. (Eclipse has it, OmniCompletion for vim, Code::blocks has it, etc.)

Tsamsiyu92

In the last post I did not tell everything, so...

My path started with Game Maker (a program, capable of much really, but the engine is sloooow). I was good at it, I think I still am, allthough I haven't touched it for a long time. Then I proceeded onto Visual Basic, really easy stuff, but what one could do was limited, then I started at C# (visual) and learned the basics, then I tried C++ and gave up. I want to study the stuff at university. I also know a lot of HTML, allthough it sucks.

bommel

Quote from: Tsamsiyu92 on July 14, 2010, 07:54:41 AM
In the last post I did not tell everything, so...

My path started with Game Maker (a program, capable of much really, but the engine is sloooow). I was good at it, I think I still am, allthough I haven't touched it for a long time. Then I proceeded onto Visual Basic, really easy stuff, but what one could do was limited, then I started at C# (visual) and learned the basics, then I tried C++ and gave up. I want to study the stuff at university. I also know a lot of HTML, allthough it sucks.
Ever tried Java? It's quite similar to C#.

wm.annis

Quote from: Tsamsiyu92 on July 14, 2010, 07:54:41 AMI want to study the stuff at university. I also know a lot of HTML, allthough it sucks.

As I have said elsewhere on this forum, almost all things related to computers suck — operating systems, programming languages, etc.  If cars were as unreliable as most computers no one would willingly get into a car.  We (humanity) aren't terribly good at managing complexity, and computers as universal computing machines are about the most complex thing humans have ever put together.  Until we come up with tools to cope with this complexity, computers will continue to be unreliable and hackish.

That said, one can at least say some things suck less.  :)

There are certain languages everyone who wants to have a really deep mastery of programming should study, even if they never use them in production.  (The rest of this should have IMHO everywhere, of course.)

C - Everyone should know C.  Period.  You should have to implement linked lists and hash tables, and should experience the full horror of pointer math and manual memory management.

Assembly - It doesn't matter which one.  As part of learning assembly, you should have to write an interrupt handler, even if only a simple one.  Having some idea how a compiler turns C into assembly might be useful, but I consider that an extra — if you pay attention, certain oddities of C will make more sense after programming in assembly.

Lisp - Invented in the 1950s (!) it was at the forefront of computer language technologies most of us now take for granted: automatic garbage collection (no by-hand memory management), stunning metaprogramming capabilities that remain superior to all other languages on the market.  There are several good free implementations of the Common Lisp ANSI standard (SBCL is my fave).

Smalltalk - The language created by the people who invented the term "object orientied."  It also pioneered in the 1970s some things we take for granted today, including portable virtual machines which you target most of the language too (Java, anyone?), but does some other things you might find surprising (image-based system to which you have total, complete live access).  Pharo may be the best choice for tinkering with for people used to modern systems.

FORTH - This one is optional, but is still worthwhile.  Thead-coding is an interesting solution to a problem, and FORTH still often ends up in embedded systems.  If you have a Mac, it runs your boot loader, for example.

I went back and forth on Algol and FORTRAN, but the lessons of Algol have been completely assimilated by other languages.

Pure functional languages are currently popular to talk about (if not actually use) since they have agreeable features with respect to multithreaded programming.  Probably Haskell is the best way to learn about that (even if monads for IO are a ghastly hack of impurity).  Clojure is another hot topic at the moment, which is lisp + pure functional data structures.

Every other programming language is some variant of one of the above languages. ;)