|
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.
|
|
|
|
|
I never thought about it before.
Mostly, I liked that C allowed me to do anything I wanted to do (and occasionally, things I didn't want to do - especially in the beginning (early on for you UK types) ). This passed into history with Windows NT.
It was just so much fun.
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 |
|
|
|
|
|
Puts me in mind of a thing I managed when I was younger - I am guessing 9 or 10.
We are in the real beginning, just after all the nonsense with punched cards and ticker tape, there was a micro-computer called a NewBrain Link to a WikiPedia page with right picture and lots of text I couldn't be bothered to check for accuracy. It was a really good piece of kit for the discerning geek. My father who was a physicist, was given one by his university, mainly to stop him annoying the Computer Sciences department with dodgy fortran code and keep him safely in his lab. Obviously he brought it home and equally obviously I taught myself to program on it.
I chose to create breakout - it was black and white, with very basic sound but looked good and was really quite fast. I'd made one mistake. I hadn't thought to detect a ball leaving through the top of the screen. This was where the real fun started. The NewBrain plugged into a monitor and you could use more memory for the screen if your screen had more resolution. So all the memory was accessible to my ball. The effects were highly educational as it bounced around destroying its host. At one point it flew back out the top of the screen bounced around a bit and eventually disappeared again out the top. Slowly the screen was obliterated in increasingly weirder and weirder complaints from the machine.
(for those still awake and interested - Switching it off and on again did fix it )
|
|
|
|
|
Where, in a language that limits you to one thread and one core?!
|
|
|
|
|
Yeah, I had that reaction too .
The functional crowd (Haskell, etc) like to claim it, but I've never heard of a process control or data acquisition application with real-time constraints being implemented in a functional language.
Software Zen: delete this;
|
|
|
|
|
I'm not even sure this is possible in all cases. In fact, I'm pretty sure it's not possible.
|
|
|
|
|
"What? Where does that exist?" was my thought, too.
When Microsoft came up with their "Task"s, that made the impression that it could make working with Threads easier. But the concept of "thread safety" was totally forgotten - e.g. there is no consistent information on the usability of "Monitor.Enter" (or its short form "lock") with Tasks...
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
I couldn't check "Macros" because many of their uses in C++ are abominations. But I would have checked "Generics" or "Templates".
|
|
|
|
|
Is it any wonder that I'm mainly a C / C++ developer? And that my gripe with C++/11 and beyond is the increased syntax complexity?
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I like C++11, though I don't use all of it. But beyond that, there's very little that interests me.
EDIT: Actually, I don't use that much C++11 either. But I wouldn't want to give up unique_ptr .
modified 4-Jan-21 6:58am.
|
|
|
|
|
Oh the additions are great, I gripe mostly with the overuse of lambda functions where unneeded. Their syntax is also unforgiving, it overloads almost every single symbol of the language and combine it in a non intuitive sequence.
unique_ptr and shared_ptr are freaking great.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Maybe your point explains why, no matter how much they "enhance" C++ and accessorize C#, plain vanilla "C" still stays around and maintains popularity.
When I retire I'll return to my roots.
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 |
|
|
|
|
|
I'm largely with @Daniel-Pfeffer on this, although I also voted for simplicity in the syntax.
A lot of the other stuff is "fluff" that can make the coding journey a bit easier and Speed/Efficiency isn't always required and we may not want to sacrifice readability to acquire it.
Isn't this why we choose "horses for courses" - the appropriate language for the task we are addressing
|
|
|
|