|
Having a great debugger is really important - an area where Visual Studio shines and other languages have left me frustrated.
Also, a reliable toolset, I once spent ages finding a typo that caused the iRMX C compiler to crash with no error.
And Also, an easily comprehensible build process - whether make files or VS project/solution files or javascript webpack/yarn, etc. All of these work well when they work, but become a pain when they don't.
And Also One More - ability to integrate code generation into the toolchain.
|
|
|
|
|
Everything worthwhile in this list you can do with C++
Even garbage collection (w/ the boehm collector)
I moved to C# for a long time before coming back to C++.
It's rough to get used to again after a years long sabbatical but so worth it.
The error messages from the compiler frustrate me sometimes, but that's the language's main weakness. Otherwise, it slays everything else.
- Portability: C++ code will run in places Java won't, like my 8-bit arduinos with 8kB of RAM
- Efficiency: C++ code is as efficient as you can create it. Of all the major languages, C++ compilers are still the best optimizing compilers under the sun
- Flexibility: C++ is if anything, too flexible. I can redesign the look and feel of the whole language using macros and clever templates. It's so flexible it's dangerous, which is terrible sometimes, but in the hands of an experienced developer this flexibility is lovely.
The main downsides are the learning curve, and the extra effort it takes to develop with it. But I think it pays for itself, easily.
Real programmers use butterflies
|
|
|
|
|
This morning when I voted the aforementioned entries were the front runners, and with 2/3 more votes in now, they're still the most popular. Why? Because they are honestly useful.
Each time I read a fanbois list of what's new in the next C# release, I both yawn and cringe when people crow, "Wow! This new feature saves me 3 key strokes! Three!!!"
Let's face it -- C# has long since reached the point where there's not a lot of room to grow. But the C# dev team needs to keep their jobs and management needs something newsworthy, so we get yet more "features" that simply make the code harder to read.
This is not just C# -- every language reaches this point if it develops enough market share and has longevity.
|
|
|
|
|
When I voted those same points just now, Type Safety is still at the top but the other two almost at the bottom. How sad
|
|
|
|
|
The placement in the list is the same as in the survey. Look at the percentage column, which hasn't changed much since yesterday. The three I listed are the front runners with percentages in the 60's. The next closest is memory management which is currently ~50%.
|
|
|
|
|
Got that wrong, didn't I. Thanks.
|
|
|
|
|
Languages need a full-featured runtime library. Javascript has many issues, and high among them is the insufficient standard library. That gives rise to way too many npm packages and bloated frameworks/libraries.
Of course, overall, Javascript is a disaster and reviewing the build tools/environment/process is clear evidence of that.
|
|
|
|
|
Too many operators can very quickly lead to unmaintainable code. Considering that almost all Linq expressions can be written as relatively short loops that are easy for anyone, including beginning programmers, to understand and you have to ask are we trying to optimize for the fewest characters typed instead of writing maintainable code.
|
|
|
|
|
Relevancy, so I can earn a living.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
|
|
|
|
|
"If there's a steady paycheck in it, I'll code in any language you want." Ernie Hudson, starring in the unreleased indie film CodeBusters
+1
(I don't use the voting system, as of a New Year's resolution of several years ago)
Software Zen: delete this;
|
|
|
|
|
You can now use the "reaction system"
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Using a language with great tools is essential.
Without easy to use tools the program (the code and the enviroment) is quickly becoming an unmanageable mess.
|
|
|
|
|
The Phix Programming Language[^] (I am the author) does not support lambda expressions, closures, nested functions, currying, partial function application, function composition, function prototyping, monads, generators, anonymouse recursion, the Y combinator, aspect oriented programming, interfaces, delegates, first class environments, implicit type conversion (of the destructive kind), interactive programming, inverted syntax, list comprehensions, metaprogramming, pointers (other than to raw allocated memory), topic variables, enforced singletons, safe mode, s-expressions, or formal proof construction.
Maybe sometimes I miss nested functions and closures slightly, and maybe an interactive repl, but none of the rest, ever.
Pete Lomax
|
|
|
|
|
|
Being simple enough for me to properly understand it and powerful enough to do interesting things with it.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
IMO, generics are essential for any medium to large sized projects. I also require cross-platform support, since I work with both Windows and Linux dev machines on a regular basis. And finally, the quality of a language's tooling (particularly IDE/editor, compiler, and linter/formatter) is arguably the most important factor. An otherwise amazing language without a decent editor (or at least a plugin for another editor) is pretty much a no-go for me.
|
|
|
|
|
Generics! Oh yes, they should have been in the survey!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
One of hte first languages I learnt was PHP and I did this via its Documentation. Finding Documentation is an essential part of adopting a new language.
|
|
|
|
|
Can't believe I didn't think of that... For instance, while I'm sure they are technically very good, I just get so ridiculously lost so ridiculously quickly in the official Ruby docs it's just not funny. Mind you, it's never the actual language's fault - w3schools probably only has about 10% of the nitty gritty of MDN, but as its so much easier to navigate, it's worth it.
Pete Lomax
|
|
|
|
|
w3 I use all the time for the most basic double checks of my SQL code!
|
|
|
|
|
I once omitted a single bracket in a C++ project that took me three days to track down
Pete Lomax, author of Phix (http://phix.x10.mx/)
|
|
|
|
|
Pete Lomax Member 10664505 wrote: took me three days to track down Don't worry - after a few years of experience you'll be able to track it down in about a day and a half.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Now that I'm much older and wiser, it'd take me a full two weeks at least.
Pete Lomax
|
|
|
|
|
Paid by hours...
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|