View Single Post
  #8  
Old 05-14-2014, 07:12 PM
Bitsey Bitsey is offline
 
Join Date: Feb 2009
Location: hut west of BR
Bitsey has just set foot in the Tutorial Tower
Default

I've written millions of lines of code in a variety of types of languages (functional languages from lisp to Haskel, hardware design languages like Verilog/VHDL, 'good' OOP languages like Smalltalk, tons and tons of C++, assembly for 8-bit micro controllers and 64-bit cpus, and even some weird languages like forth)......targeting both small embedded systems and projects w/ 5MM lines, 20 developers and a 10 year lifetime.

yes, it matters. Sometimes it matters quite a lot.

You have considerations like the ones Arilou mentioned: do you need to be able to change the system w/o a compile-reboot loop? How sophisticated are the developers & what languages do they know/can learn?

also:

Do you have real-time operation considerations? How strict?

How much performance do you need?

Will it be running on a distributed system or not? Multi-threaded? If distributed, do you have a system smart enough to detect the available concurrency and exploit it (haskel supports that pretty well on many target platforms) or do you need to be able to manually control it(OpenCL, for targeting things like GPUs).

Does the system require fault tolerance? How much, what kind?

The choice of language also significantly impacts the structure of the SW architecture. Functional vs imperative, object-oriented vs not, etc all are first-order considerations. For something like Wyvern, where the 'game' is built first as a platform then as an implementation of (one or more) games ON the platform this has first-order impact on what your platform can express and how easily.


So, yes, it matters a lot.
__________________
-bitsey