ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

How to choose programming language?

<< < (7/8) > >>

Ehtyar:
Perhaps you could make a constructive suggestion or criticism?

Ehtyar.

f0dder:
I'm certain that on any modern hardware, any reasonable choice of programming language will provide a responsive user interface -- assuming that the developers are competent on the platform;-CWuestefeld (September 07, 2008, 02:20 PM)
--- End quote ---
I personally find that most JAVA applications have somewhat sloppy user interfaces, even on fast CPUs... but I'm very sensitive to issues like that, most users might not be bothered by that.

It's an oversimplification because modern compilers and JITters (e.g., the .Net CLI and Java) are very smart. It's common now for high-level languages to demonstrate higher performance than hand-coded assembler or C.-CWuestefeld (September 07, 2008, 02:20 PM)
--- End quote ---
I still haven't seen this in practice. Theoretically, JITers with hotspot recognition and profiling could do very well, but they'll still be following heuristics - and statically compiled languages also have profilers available (just how often does varying data input massively change hotspots?).

The reality is, however, that for 99% of the software out there, you aren't going to be very CPU bound, so it doesn't matter much if you're coding in Ruby, C++, VB or Assembly. And for the serious number crunching, on x86 anyway, there's still nothing that beats hand-tuned assembly... especially when you have the chance to use SSE instructions. Compiler intrinsics, unfortunately, suck.

But also, allowing developers to use higher-level abstractions frees them to address the overall architecture more fully. Even if you could code something in C++ that would be 5x faster, if there were an alternative approach that only needs to execute 10% as often, that alternative would be better.-CWuestefeld (September 07, 2008, 02:20 PM)
--- End quote ---
And what would stop you from doing this approach in C++? :)

Stuff like garbage collection can have benefits, but you can gain some benefits through the use of RAII and smart pointers, it's possible to do full garbage collection if you really want to, and for speed-critical stuff you can do pool allocators. You get choice instead of being forced to use GC, which you might not have much control over. True, this requires more work than automagic GC, but you can tune to your needs.

But again, for most software, you don't need this kind of control and fine-tuning, and it requires decent experienced coders to get substantial improvement over some of the JITed languages.

dotNET and JAVA do take their toll on the system, though - it takes quite a while to load the runtimes from a cold boot, and not everybody keeps their systems on 24/7.

Anyway, I agree with a lot of your points, I just had to bicker a bit :). And I fully agree that the developers should choose the language after doing project analysis... although they should probably be constrained to open platforms since this is going to be an opensource project.

Ketracel:
CWuestefeld,
Thank you for your message. It was not my intention to infuriate anyone but I do appreciate your input. Allow me to try to explain why I chose python:

1] I have to hire someone to start the project and I can't hire a "generic" programmer (or so I'm told)
2] python allows for rapid prototyping and iterative development
3] there is already an existing open source project that I can use as a base & it is in python
4] python goes with open source like pb and jam (or so I'm told)
5] python code is easy to read by a different programmer (or so I'm told)
6] I may get brave enough to want to contribute myself and I can see myself learning python... but not C++ (realistically)
7] I forget #7... let me get back to you

now, allow me to pose a question: is it truly so rare and undignified to propose a language beforehand? I have seen it as the standard procedure on sites like getacoder/rentacoder/odesk, etc.

Ehtyar:
now, allow me to pose a question: is it truly so rare and undignified to propose a language beforehand? I have seen it as the standard procedure on sites like getacoder/rentacoder/odesk, etc.
-Ketracel (September 07, 2008, 10:55 PM)
--- End quote ---
No it's not. In most cases, professional coders will produce a substantial amount of documentation before making any decisions about their project, however hobbyists/managers/newbies need not concern themselves with such things.
To me your justification is well defined for a project that has not yet commenced, though do keep in mind some of your thought processes may change once you get a taste.

Ehtyar.

Ketracel:
Thanks Ehtyar. Appreciate the level headed response.

Someones going to like you... His jaw is... made of metal?
-Armando (September 06, 2008, 10:19 PM)
--- End quote ---

Did I miss an inside joke?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version