Regarding the survey: What's your least favourite of these languages to code in?
-
Most languages require a single space between types and variable names though. Captain Pedantic strikes again.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
MarkTJohnson wrote:
require a single space
Won't a TAB or other whitespace suffice?
-
It occurs to me that my least favorite programming language is not actually determined by the language but rather by the coders writing awful code in that language. Even C# fits the "least favorite language" with some of the crap I've seen. I suppose I'm overthinking the question, but it was interesting when I started writing pure JavaScript for some personal projects and discovered I didn't hate it. I still prefer TypeScript, but my loathing of JavaScript was actually because of the code I had to touch that other people wrote. Functions that were a couple thousand lines long. Nested functions. Nested promises. Absurdly complex business logic implemented on the front-end with dozens of nested if-else. The way I was writing Javascript made working with Javascript a pleasant process. Anyways, it's an interesting realization (to me at least) that my dislike of a language is often based on my dislike of the previous coder's code.
Latest Article:
Create a Digital Ocean Droplet for .NET Core Web API with a real SSL Certificate on a DomainMarc Clifton wrote:
my dislike of the previous coder's code
I have been both blessed and cursed through my 23-year career that I almost never have to fix anything I didn't create/break! :laugh: The previous coder is me, so I only have myself to blame if it's hard to maintain or worse, misbehaves...but when it's good, well...at least nobody complains! :laugh:
"Go forth into the source" - Neal Morse "Hope is contagious"
-
Gary R. Wheeler wrote:
Academic languages that are documented using obscure or in-joke vocabulary: functional programming's "monad", for example
But why, ["a monad is a monoid in the category of endofunctors, what's the problem?"](https://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html) Also, [Dylan Beattie and the Linebreakers - Monads (Live at NDC Oslo 2019) - YouTube](https://www.youtube.com/watch?v=BoJGIqyriCc)
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius
From the first link:
Quote:
1964 - John Kemeny and Thomas Kurtz create BASIC, an unstructured programming language for non-computer scientists. 1965 - Kemeny and Kurtz go to 1964.
Lots of other hilarious stuff! :laugh: :thumbsup:
"Go forth into the source" - Neal Morse "Hope is contagious"
-
From the first link:
Quote:
1964 - John Kemeny and Thomas Kurtz create BASIC, an unstructured programming language for non-computer scientists. 1965 - Kemeny and Kurtz go to 1964.
Lots of other hilarious stuff! :laugh: :thumbsup:
"Go forth into the source" - Neal Morse "Hope is contagious"
Yup, it's a classic. Really kinda wish he'd update it for the last decades fun.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius
-
Gary R. Wheeler wrote:
:= for assignment in Pascal and Ada
Contrariwise, that eliminates the issue in C-like languages wherein a developer types a single
=
when a double=
was intended. In my opinion, an unaccompanied=
should be a syntax error. -
Bah! ∴ U+2234 THEREFORE
-
It occurs to me that my least favorite programming language is not actually determined by the language but rather by the coders writing awful code in that language. Even C# fits the "least favorite language" with some of the crap I've seen. I suppose I'm overthinking the question, but it was interesting when I started writing pure JavaScript for some personal projects and discovered I didn't hate it. I still prefer TypeScript, but my loathing of JavaScript was actually because of the code I had to touch that other people wrote. Functions that were a couple thousand lines long. Nested functions. Nested promises. Absurdly complex business logic implemented on the front-end with dozens of nested if-else. The way I was writing Javascript made working with Javascript a pleasant process. Anyways, it's an interesting realization (to me at least) that my dislike of a language is often based on my dislike of the previous coder's code.
Latest Article:
Create a Digital Ocean Droplet for .NET Core Web API with a real SSL Certificate on a DomainI love JavaScript despite its haphazard nature. Always have; always will. It will always have a special place in my heart even if WASM replaces it one day. Outside of F# it's one of the few popular languages teaching functional concepts. Despite that... I 1,000% agree. Thar be some script kiddies that give it a bad name. Forget the functional vs OOP paradigm, we're talking folks who don't know the difference between a closure and a catfish but think they're experts because they've seen a
document.write
once. It's so popular, that just comes with the territory. Any language with as many people using it would have tons of bad code floating around. Btw, I much prefer TS over plain JS these days too.Jeremy Falcon
-
Agreed. I've never done a serious project where I reached the end and hated the programming language used. There have been a few I hated the development environment. IBM's VisualAge for C++ and Qt Creator are two examples that come to mind. VisualAge stored the visuals and source code in a data base that corrupted itself regularly and was unrecoverable. Qt Creator's build system was incompetent (incontinent as well, but I digress). That said, there are languages or language features I probably wouldn't like:
- Significant white space: Python and older FORTRAN's
- Academic languages that are documented using obscure or in-joke vocabulary: functional programming's "monad", for example
- Languages whose designer hated commonly-used syntax in mainstream languages and decided they were going to fix the problem;
:=
for assignment in Pascal and Ada - Syntactic sugar that hides logic: C#, I'm looking at you
Software Zen:
delete this;
Gary R. Wheeler wrote:
they were going to fix the problem; := for assignment in Pascal and Ada
:laugh: Every time I see that it reminds me of an emoji.
Jeremy Falcon
-
Bah! ∴ U+2234 THEREFORE
I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:
Mircea
-
I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:
Mircea
I would vote for
:=
, I used Pascal a bit back in the day.Mircea Neacsu wrote:
limited set of characters that our ancestors put on a typewriter
Yet several languages allow Unicode now. Oh, and don't forget C's trigraphs. :rolleyes:
-
While I've never used Go and prefer opening brace on it's own style; the only thing I hate worse than Java written in accordance with the Java Style Guide (or WT:elephant: they call it) is Java written as if it was C#. X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| &nb
I thought Java and C# were mutual wannabes, he says, donning his asbestos suit. :-D
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:
Mircea
-
I thought Java and C# were mutual wannabes, he says, donning his asbestos suit. :-D
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Back in the day that was true… Especially C# 1.0. Very similar to Microsoft J# Which was similar to Java. This happened right after Microsoft and Sun had a big falling out about how Microsoft was “corrupting” Java. If the disagreement had not happened, we likely would not have dotNet which is now multi platform like Sun always intended for Java. Sun/Oracle never would have bothered with templates except that dotNet had it. I just find it fitting that Microsoft also copied the bad ideas from Java a la Silverlight/Applets.
-
Back in the day that was true… Especially C# 1.0. Very similar to Microsoft J# Which was similar to Java. This happened right after Microsoft and Sun had a big falling out about how Microsoft was “corrupting” Java. If the disagreement had not happened, we likely would not have dotNet which is now multi platform like Sun always intended for Java. Sun/Oracle never would have bothered with templates except that dotNet had it. I just find it fitting that Microsoft also copied the bad ideas from Java a la Silverlight/Applets.
No mention of copying GC? X|
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
Quote:
Btw. I don't get it....
Piebald, jokingly, came up with the idea of ∴ (the math sign for "therefore" used in logical proofs) instead of the assignment operator. I proposed (half jokingly) to use ≔ (U+2254), the colon equal sign used by Algol, Pascal and a few other languages.
Mircea
-
No mention of copying GC? X|
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Greg Utas wrote:
No mention of copying GC? X|
That's a bold claim. The Visual Basic language did [garbage collection](https://en.wikipedia.org/wiki/Garbage\_collection\_(computer\_science)#Reference\_counting). Could you explain what you mean by the word "copying"?
-
Greg Utas wrote:
No mention of copying GC? X|
That's a bold claim. The Visual Basic language did [garbage collection](https://en.wikipedia.org/wiki/Garbage\_collection\_(computer\_science)#Reference\_counting). Could you explain what you mean by the word "copying"?
There was a mention of C# copying bad ideas from Java, so I was surprised that GC wasn't mentioned.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
There was a mention of C# copying bad ideas from Java, so I was surprised that GC wasn't mentioned.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Java didn't invent GC. Lots of other languages have it. Including C#. The fact that Java and C# have a common feature does not prove that C# copied it from Java. Those who know the two GC implementations, and others as well, may identify specific elements in the C# GC handling that was pioneered in Java and not generally known in other GC mechanisms. That is (or might be) copying. But not the basic concept of GC.
-
I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:
Mircea
-
Quote:
Btw. I don't get it....
Piebald, jokingly, came up with the idea of ∴ (the math sign for "therefore" used in logical proofs) instead of the assignment operator. I proposed (half jokingly) to use ≔ (U+2254), the colon equal sign used by Algol, Pascal and a few other languages.
Mircea
I like things to come in logical order, so my favorite is =: A + B =: C, or "Add A and B. Then store it in C" is far better than C := A + B: "Assign to C ... just wait a second, I have to calculate it first ... Add A and B. I hope you remember what we were going to do with it, as we said a while ago before we started calculating the expression ..." I programmed for a few years in a proprietary language using =:, and came to love it. It also had a half-swap operator: As in many languages, you could carry the result value assigned to C on, so the same value can be assigned to D and E: A+B =: C =: D =: E. Using :=: the old value of C was carried on. So you could e.g. link in a new element at the head of the list by NewElt =: Head :=: NewElt.Next. This comes far more natural when you read the code left to right, rather than skipping back and forth, as you have to when starting the statement with what you will be doing last.