www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What criteria do you take

reply "Cassio Butrico" <cassio_butrico ig.com.br> writes:
What criteria do you take into consideration for the choice of a 
programming language.
and why? does not mention what language would be, but what 
criteria led them to choose.
Sep 05 2014
next sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Saturday, 6 September 2014 at 02:30:50 UTC, Cassio Butrico 
wrote:
 What criteria do you take into consideration for the choice of 
 a programming language.
 and why? does not mention what language would be, but what 
 criteria led them to choose.
Expressiveness is king. Preferably both high and low level.
Sep 05 2014
prev sibling next sibling parent Paulo Pinto <pjmlp progtools.org> writes:
Am 06.09.2014 04:30, schrieb Cassio Butrico:
 What criteria do you take into consideration for the choice of a
 programming language.
 and why? does not mention what language would be, but what criteria led
 them to choose.
Depends. At work, I just use whatever the customer asks for. Programming languages and target platforms are already part of the request for proposals the company receives. The only way to choose languages is to try to get assigned to projects using the said languages, but even then, there isn't a way to control what versions are being used, unless it was left undefined. If choosing for my own hobby projects, expressive, supporting the majority of abstractions of the last 30 years that made it into the mainstream. Support for the desired target platforms, availability of libraries and IDE support, including debuggers also play an important role. -- Paulo
Sep 05 2014
prev sibling next sibling parent "Dominikus Dittes Scherkl" writes:
On Saturday, 6 September 2014 at 02:30:50 UTC, Cassio Butrico 
wrote:
 What criteria do you take into consideration for the choice of 
 a programming language.
 and why? does not mention what language would be, but what 
 criteria led them to choose.
First of all I want efficient generated code: fast and small. Then I love also very small source code, so expressiveness matters too.
Sep 06 2014
prev sibling next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sat, 06 Sep 2014 02:30:49 +0000
Cassio Butrico via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 What criteria do you take into consideration for the choice of a=20
 programming language.
 and why? does not mention what language would be, but what=20
 criteria led them to choose.
"fun factor". it *absolutely* *must* be fun to write in this language. Scheme is fun. Smalltalk is fun. D is fun. C is boring. C++ is disgusting. python is ugly. java is just trash. and so on.
Sep 06 2014
prev sibling next sibling parent "monarch_dodra" <monarchdodra gmail.com> writes:
On Saturday, 6 September 2014 at 02:30:50 UTC, Cassio Butrico 
wrote:
 What criteria do you take into consideration for the choice of 
 a programming language.
 and why? does not mention what language would be, but what 
 criteria led them to choose.
In the words of Marshall Cline, "programming language selection is dominated by business considerations, not by technical considerations." http://earth.uni-muenster.de/~joergs/doc/cppfaq/big-picture.html#[6.4] So I'd just chose whatever I *know* that I *could* use to solve a problem. If it works perfect.
Sep 06 2014
prev sibling next sibling parent reply "Kagamin" <spam here.lot> writes:
If nothing imposes additional restrictions
1. efficient
2. C family
3. safer than C
4. nicer than C++
Sep 06 2014
parent "Kagamin" <spam here.lot> writes:
Hehe, or like this:
1. C family
2. more efficient than Java/C#, like C/C++
3. safer and nicer than C/C++, like Java/C#
Sep 06 2014
prev sibling next sibling parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Saturday, 6 September 2014 at 02:30:50 UTC, Cassio Butrico 
wrote:
 What criteria do you take into consideration for the choice of 
 a programming language.
1. Platform support, language stability and solid backing. Compiled imperative programming languages are more or less alike, so platform support is usually the criterion that affects selection most and closely related to stability (of all kinds). 2. Learnability. Comprehensible structure of libraries. Learning a new imperative language is typically done in a week or less. It is learning the libraries that takes most time, so I prefer languages that use standard structuring of core libraries (less to learn). 3. Expressiveness and rapid evolutionary development. Basically cheaper development. 4. Type-safety. 5. Predictable performance and portability. C/C++/shader-languages supports this well. 6. Transparency. I want to understand what goes on in the runtime. C supports this very well. Big frameworks does not. I avoid big frameworks if possible since I they tend to imply limitations that are hard to work around. Quick evalution of D: 1. D lacks platform support, language stability and backing. I don't plan on using D for paid projects until I understand the compiler internals so well that I know that I can fix it myself. 2. D is fairly easy to learn, except for quirks. Libraries could be more comprehensible, but I don't depend on them since D interfaces with C/C++. 3. D has decent expressiveness. Better for rapid development than C/C++, but Python does better. 4. D has acceptable type safety, but could do better at compile time correctness. 5. I think the C world overall does better at performance and portability at the moment. 6. The D runtime structure is too big for my liking, and not very transparent, but if you go to the trouble of modifying the compiler anyway it is not all that bad.
Sep 06 2014
prev sibling parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Sat, 06 Sep 2014 02:30:49 +0000
schrieb "Cassio Butrico" <cassio_butrico ig.com.br>:

 What criteria do you take into consideration for the choice of a 
 programming language.
 and why? does not mention what language would be, but what 
 criteria led them to choose.
In a start-up: - known and been used by many developers - low potential of running into unsolved issues - rich eco-system with a potential solution for anything I planned - lots of free/open source solutions to get started without a big investment first - works as well for programmers on Windows/Linux/OS X - minimizes internal bike-shedding In other words Java. :) The only bike-shedding I ever had was weather we should write getID or getId. One says "ID" is the correct abbreviation of identification, the other says the field's name is "id" and camel case rules dictate "getId". Personally it just comes down "fun to work with" and my bias towards maximum efficiency and static checking through the compiler. D ranks very high here. + templates, CTFE and UDAs are fun to work with; it is easy to do meta-programming with these tools + if needed also works as a "better-C" + can use efficient C libraries without conversion layer + dynamic linking allows for small native executables and memory reuse of already loaded read-only segments of phobos2.so. + lots of static checking and template constraints + removes friction between systems by defining long as 64-bit and character arrays to be in Unicode encoding - incompatible ABI between compiler vendors requires 3 installations of the same lib to do testing with each - inline ASM syntax also diverges between vendors - GC implementation and efficiency issues - being flexible, safe and efficient at the same time is sometimes a liability; e.g. File.byLine buffer reuse issue, Java taking the freedom to offer inefficient operations on all containers to keep them interchangeable. Before D I used Delphi. It is IMHO the best programming environment for efficient, native GUI applications on Windows. It comes with integrated compiler, linker, debugger and that sort of stuff and the GUI designer is integral part of the IDE. Most other GUI designers feel like or are an external tool with no interaction with the code editor. -- Marco
Sep 06 2014
next sibling parent reply Paulo Pinto <pjmlp progtools.org> writes:
Am 06.09.2014 15:54, schrieb Marco Leise:
 Am Sat, 06 Sep 2014 02:30:49 +0000
 schrieb "Cassio Butrico" <cassio_butrico ig.com.br>:

...

 Before D I used Delphi. It is IMHO the best programming
 environment for efficient, native GUI applications on Windows.
 It comes with integrated compiler, linker, debugger and that
 sort of stuff and the GUI designer is integral part of the
 IDE. Most other GUI designers feel like or are an external
 tool with no interaction with the code editor.
It was great! Pity Borland had to mess it up. Now C#/.NET Native is the closest experience to it. -- Paulo
Sep 06 2014
parent reply "Cassio Butrico" <cassio_butrico ig.com.br> writes:
On Saturday, 6 September 2014 at 15:03:12 UTC, Paulo Pinto wrote:
 Am 06.09.2014 15:54, schrieb Marco Leise:
 Am Sat, 06 Sep 2014 02:30:49 +0000
 schrieb "Cassio Butrico" <cassio_butrico ig.com.br>:

...

 Before D I used Delphi. It is IMHO the best programming
 environment for efficient, native GUI applications on Windows.
 It comes with integrated compiler, linker, debugger and that
 sort of stuff and the GUI designer is integral part of the
 IDE. Most other GUI designers feel like or are an external
 tool with no interaction with the code editor.
It was great! Pity Borland had to mess it up. Now C#/.NET Native is the closest experience to it. -- Paulo
Thank you all, the reason for the question and what we can do for programmers that will program in D. Thank you again.
Sep 06 2014
parent reply "Cassio Butrico" <cassio_butrico ig.com.br> writes:
On Saturday, 6 September 2014 at 22:16:02 UTC, Cassio Butrico 
wrote:
 On Saturday, 6 September 2014 at 15:03:12 UTC, Paulo Pinto 
 wrote:
 Am 06.09.2014 15:54, schrieb Marco Leise:
 Am Sat, 06 Sep 2014 02:30:49 +0000
 schrieb "Cassio Butrico" <cassio_butrico ig.com.br>:

...

 Before D I used Delphi. It is IMHO the best programming
 environment for efficient, native GUI applications on Windows.
 It comes with integrated compiler, linker, debugger and that
 sort of stuff and the GUI designer is integral part of the
 IDE. Most other GUI designers feel like or are an external
 tool with no interaction with the code editor.
It was great! Pity Borland had to mess it up. Now C#/.NET Native is the closest experience to it. -- Paulo
Thank you all, the reason for the question and what we can do for programmers that will program in D. Thank you again.
If I can start over again, thousands of miles away, I will have in mind, I would program in D.
Sep 06 2014
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 9/6/2014 9:07 PM, Cassio Butrico wrote:
 On Saturday, 6 September 2014 at 22:16:02 UTC, Cassio Butrico wrote:
 Thank you all, the reason for the question and what we can do for
 programmers that will program in D.
 Thank you again.
If I can start over again, thousands of miles away, I will have in mind, I would program in D.
Heh, who knew Reznor was a D fan? :)
Sep 06 2014
parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Sat, 06 Sep 2014 21:50:05 -0400
schrieb Nick Sabalausky <SeeWebsiteToContactMe semitwist.com>:

 On 9/6/2014 9:07 PM, Cassio Butrico wrote:
 On Saturday, 6 September 2014 at 22:16:02 UTC, Cassio Butrico wrote:
 Thank you all, the reason for the question and what we can do for
 programmers that will program in D.
 Thank you again.
If I can start over again, thousands of miles away, I will have in mind, I would program in D.
Heh, who knew Reznor was a D fan? :)
Lol, I just thought "but the lyrics are 'If I could start again, a million miles away'". People sing Cash's version now and then over here in an Irish pub at Karaoke nights. -- Marco
Sep 07 2014
next sibling parent "Cassio Butrico" <cassio_butrico ig.com.br> writes:
On Sunday, 7 September 2014 at 10:58:10 UTC, Marco Leise wrote:
 Am Sat, 06 Sep 2014 21:50:05 -0400
 schrieb Nick Sabalausky <SeeWebsiteToContactMe semitwist.com>:

 On 9/6/2014 9:07 PM, Cassio Butrico wrote:
 On Saturday, 6 September 2014 at 22:16:02 UTC, Cassio 
 Butrico wrote:
 Thank you all, the reason for the question and what we can 
 do for
 programmers that will program in D.
 Thank you again.
If I can start over again, thousands of miles away, I will have in mind, I would program in D.
Heh, who knew Reznor was a D fan? :)
Lol, I just thought "but the lyrics are 'If I could start again, a million miles away'". People sing Cash's version now and then over here in an Irish pub at Karaoke nights.
Actually, I'm 49 years old and made ​​my first program on a TRS-80 III and a systema conmpleto in cobol in 1986, then I moved. I live in another country and by D interecei me again voitei programming. yes, and a chorus of music.
Sep 07 2014
prev sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 9/7/2014 7:06 AM, Marco Leise wrote:
 Lol, I just thought "but the lyrics are 'If I could start
 again, a million miles away'". People sing Cash's version now
 and then over here in an Irish pub at Karaoke nights.
Interesting, I never realized Cash's cover had slightly different lyrics. Only heard his version once or twice though. (Downward Spiral, OTOH, in the many years since I got it I've probably listened to that album more times than any other CD I own.)
Sep 07 2014
prev sibling parent "Alex Ogheri" <ogheri alessandroogheri.com> writes:
On Saturday, 6 September 2014 at 13:46:24 UTC, Marco Leise wrote:
 Am Sat, 06 Sep 2014 02:30:49 +0000
 schrieb "Cassio Butrico" <cassio_butrico ig.com.br>:

 What criteria do you take into consideration for the choice of 
 a programming language.
 and why? does not mention what language would be, but what 
 criteria led them to choose.
In a start-up: - known and been used by many developers - low potential of running into unsolved issues - rich eco-system with a potential solution for anything I planned - lots of free/open source solutions to get started without a big investment first - works as well for programmers on Windows/Linux/OS X - minimizes internal bike-shedding In other words Java. :) The only bike-shedding I ever had was weather we should write getID or getId. One says "ID" is the correct abbreviation of identification, the other says the field's name is "id" and camel case rules dictate "getId". Personally it just comes down "fun to work with" and my bias towards maximum efficiency and static checking through the compiler. D ranks very high here. + templates, CTFE and UDAs are fun to work with; it is easy to do meta-programming with these tools + if needed also works as a "better-C" + can use efficient C libraries without conversion layer + dynamic linking allows for small native executables and memory reuse of already loaded read-only segments of phobos2.so. + lots of static checking and template constraints + removes friction between systems by defining long as 64-bit and character arrays to be in Unicode encoding - incompatible ABI between compiler vendors requires 3 installations of the same lib to do testing with each - inline ASM syntax also diverges between vendors - GC implementation and efficiency issues - being flexible, safe and efficient at the same time is sometimes a liability; e.g. File.byLine buffer reuse issue, Java taking the freedom to offer inefficient operations on all containers to keep them interchangeable. Before D I used Delphi. It is IMHO the best programming environment for efficient, native GUI applications on Windows. It comes with integrated compiler, linker, debugger and that sort of stuff and the GUI designer is integral part of the IDE. Most other GUI designers feel like or are an external tool with no interaction with the code editor.
I could not agree more!! Delphi is simply so elegant, so efficient and at the same time able to compile in such a quick time and generating such compact executables that it was always wonderful to work with, albeit, in my opinion, more in the Versions of 5 ,6,7 years ago... thanks God, there is Lazarus now!! (pun intended!!) Lazarus with freepascal is really a good combination, in my opinion....
Sep 11 2014