|
Where's the CCC ?
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
There are languages I refuse to use for fear of picking up bad habits.
Perl is one. Python* is another. And then there's BASIC
I'd add assembly to the list except there are unfortunately, rare instances where I need it.
*Python isn't as bad an offender as the others, but its array handling and use of significant whitespace are deal breakers for me.
I don't like to holy roll. Sure I have my favorite languages (C++, C#) and languages I hate but grudgingly accept (like Javascript), and ones that just aren't my cup of tea but I'll use them if I must (Java). Still, I try to be fair, and I believe that most languages have their niche. Even Perl, if I'm being generous, but that doesn't mean I'll use it and it doesn't mean I don't think there should be a better alternative.
The ones I listed up top though - Nope. Just no. I will not use them, except perhaps to port something away from them.
I have to have some sort of standards.
Sometimes I wonder if I'm being overly picky though.
Real programmers use butterflies
|
|
|
|
|
For its time (when procedural languages ruled the world), BASIC was a good beginner's language. Its modern variants (VB) have strayed so far from the original concept that the only things remaining are the name and some vestiges of the syntax.
As far as I'm concerned, Python's significant whitespace is a deal breaker. The fixed-format lines in classical FORTRAN were bad enough, but at least they had some rationale behind them (punched card widths, etc.). I see no reason to repeat that in a modern language.
I disagree about assembly language. As you mentioned, it is sometimes necessary, both for extremely low-level kernel stuff and for extremely high-performance code. It's also fun!
JavaScript and other weakly-typed scripting languages are tools of the Devil. I shudder to think how much of our infrastructure is built over code that will run even with typos (though it won't do what you expect).
Personally, I do most of my coding in C, C++, C#, and Java.
As long as one can remain gainfully employed using the tools that one prefers using - why worry? The time to worry is when one sees these tools going out of fashion, and one is required to interface to the new-fangled stuff. However, given that new programs are still being written in FORTRAN and COBOL, I don't see C, C++, C#, or Java being abandoned any time soon.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
I don't disagree that assembly is fun. It just isn't conducive to me keeping up good coding habits. I'm not sure how much we actually disagree with there.
And I'm not so worried, except for the fact that I don't want to get too stuck by being stubborn.
We seem to agree for the most part, at least conceptually, although we have slightly different views on some languages. I don't think VB.NET is much better than BASIC. It might be worse, as it's no longer beginners, but it still encourages crappy coding.
I should add with regard to assembly: I've found it's more fun (in terms of the challenge) to get C++ to generate the assembly I want (or better)
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: I don't disagree that assembly is fun. It just isn't conducive to me keeping up good coding habits. I'm not sure how much we actually disagree with there. On the contrary. It's always think or sink and that forms the best habits of all. No time for any guru's version of how things should be or not. Be your own guru.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
That's fine when I'm writing source code for me. But when I'm working on a team there are certain more or less universal practices that I like to keep in the habit of. Assembly isn't really about that, and that's fine. It's just something I'm not going to use when I can avoid it. For the above, and for many other reasons.
Besides, like I said earlier, I find it more gratifying to picture the ASM i want, and then set about cajoling the C++ compiler into generating my target instructions the way I like (or as is often the case, better than I would have imagined)
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: I don't think VB.NET is much better than BASIC. It might be worse, as it's no longer beginners, but it still encourages crappy coding.
While VB.Net has some serious syntactic shortcomings when it comes to Lambda functions and LinQ, apply the two statements below eliminates all the crappy coding relating to variable and type declarations.
Option Strict On
Option Explicit On
I find the C# "var" variable declaration to be an abomination as it allows the programmer to not understand data types they're using. I also find the use of { and } for code blocking to be a threat to clean coding. In fact, the 2003 power outage that impacted New York, New Jersey, Maryland, Connecticut, Massachusetts, Michigan, Ohio, Pennsylvania, and Ontario was the direct result of an erroneously placed }. This type of code bug is much harder to miss in VB because the language uses keywords to start and end code blocks.
|
|
|
|
|
>>I find the C# "var" variable declaration to be an abomination
Could not agree more, was appalled when I first saw that in code examples.
|
|
|
|
|
I think there are some legitimate uses for var. I use it in generic methods that have incoming objects and I have to iterate through using reflection.
|
|
|
|
|
honey the codewitch wrote: I don't think VB.NET is much better than BASIC. It might be worse, as it's no longer beginners, but it still encourages crappy coding.
If MS would stop supporting all the backwards compatibility that they allow in VB.NET, then it would be a much more robust language and be a lot closer to C# than it is now. But really, having personally made the switch from VB.NET to C#, the reality is that C# is generally better on the long term. I completely understand why it still has a massive following as BASIC as an overall syntax was and still is, everywhere. Most people who are in their 40s or 50s and took programming in high school would have done so either on something from Commodore or on a DOS PC using QBASIC.
But the argument that VB.NET is better for RAD in business environments isn't nearly as true as it may once have been. And just because C# is better, don't forget that it still has its own quirks that are kind of dumb.
|
|
|
|
|
If Musk tweeted "mysteriously" about JavaScript, every CIO would be switching to JavaScript.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
Quote: Personally, I do most of my coding in C, C++, C#, and Java.
Hear! Hear! Although the last decade or so has been only C# and Java, specifically JavaFX. JavaFX with Maven and the IntelliJ IDEA IDE can measure up to C# and Visual Studio any day of the week!
Get me coffee and no one gets hurt!
|
|
|
|
|
Searching for 'a better Python '? There is Lua on your way.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
It's just another language for me to learn enough of to port code away from it.
Real programmers use butterflies
|
|
|
|
|
You would find very clever people engineered Lua .
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
Yeah but it's just another language to learn. Will it run anywhere my current code won't? That's what matters to me.
Real programmers use butterflies
|
|
|
|
|
Has its uses.
Quote: Will it run anywhere my current code won't? That's what Linus a C programmer says to a C++ one.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
CPallini wrote: That's what Linus a C programmer says to a C++ one.
Funny you should say that, because as a C++ developer that's exactly what I ask C developers who tell me C is better somehow.
Real programmers use butterflies
|
|
|
|
|
LUA is a decent language, I've used it on the ESP devices.
|
|
|
|
|
Yes, it's only drawback is the very Python existence.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
Yeah I tried to learn Python a while back and got so frustrated with it's spacing restriction, among other things that I gave up.
|
|
|
|
|
I used to hate Python. But working in a company you cannot always choose, and...
After 3 months I began to several upsides of the language. We do have strong linters, and good peer-review conventions and unit-testing. The strongest upside of Python is the community which results in useful and extremely consistent 3rd party libraries. Something you cannot say of C++.
Still when projects grow large, Python, being non-compiled, becomes hard to maintain and nasty bugs can occur.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
That's fair. Honestly, my main problem with it, and I'm adamant about this, is its use of significant whitespace. That's a deal breaker for me. I won't use anything with significant whitespace if I don't have to.**
I did *learn* python, so I could port python scripts away from python, but that's about the only thing I've ever used it for, thankfully.
** line delimited languages are okay, but not ideal.
Real programmers use butterflies
|
|
|
|
|
If you want to reduce the amount of whitespace, you can indent each block by ONE space! : p
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
It's not about that.
It's about the fact that editors can do things like convert spaces to tabs.
It's really easy to heck up whitespace, especially when copying and pasting code. And you can't see it.
Real programmers use butterflies
|
|
|
|