|
Matt McGuire wrote: To each their own
Definitely. I have my opinions, but while I might sideeye a Perl developer the same way I wonder about what makes people pursue podiatry as a profession I won't judge them for it. *Somebody* has to code in the damn thing, after all.
As far as basic, I came up the same way you did it sounds like. Good old Applesoft BASIC in my case. I'm glad that was "the bad old days" and not today.
Still, line delimited languages give me a rash.
And VB.NET's syntax with respect to things like lambdas leave me googling all the time because the syntax is nonsense, and clearly a bag on the side - it wasn't designed with them in mind but rather added to the grammar after the fact and it shows.
There are sadly, folks who think running a scripting language (JS, Python), or a GC language (C#) on a 360kB system at 160MHz is a good idea. I am not one of those people. For starters, I don't care about RAD on an IoT device. I care about battery life.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: I don't care about RAD on an IoT device. I care about battery life.
pretty much the same, and keeping as close to real time as possible on those little chips.
|
|
|
|
|
I'm going to be Devil's Advocate
I really like JavaScript / Typescript. Not because the language is the epitome of a well planned, cleanly architected, unambiguous and approachable language all kids should learn. It's not. It's a dog's breakfast. But because it works everywhere, it's not being owned by anyone, there's almost no religious wars going on around it, and because it's powerful, forgiving, and if you had to learn one language this one would be it. Full stack, front to back, every device (almost), every platform.
I also like and respect Python. Again: not what one would consider the cleanest, sanest evolution of a language, but it, like JavaScript, works pretty much everywhere, has a huge following, masses of libraries, and most importantly, is a great language for those who want to generate results rather than become artists. The difference between building a deck so you can have a BBQ as opposed to building a fully automated food preparation machine. I just want my burger and a beer and I don't need to understand structural engineering to get this thing completed.
Sure, Python is weird about spaces, but C-like languages are equally weird about closing brackets, and let's fact it - we all indent our code anyway. Maybe it was the 5 years in Purgatory doing FORTRAN that softened me but I find teaching a student how to code if/then statements or loops using Python to be less distracting than brackets for someone who's never seen code before.
My pet peeve: convention over configuration. It's like having to geek out and understand the backstory of all the characters in a movie, deeply, before you can sit down and watch the movie. The constant "WTF is going on?" with things like Entity Framework, for instance, just kills my soul every time I realise that if I'm to step off that very, very narrow line they've set, there will be Pain and there will be Misery.
cheers
Chris Maunder
|
|
|
|
|
Typescript I am okay with.
My problem with significant whitespace is this:
Some editors convert spaces to tabs, and so do web pages. Some don't.
Yes, I copy and paste. My own code. Sometimes other people's and from a variety of sources.
If my editor isn't "smart" what happens to my python script?
Real programmers use butterflies
|
|
|
|
|
Which editor do you use? I feel a little ignorant in saying I've never used an editor that does that. And I would probably uninstall it if it did! (too many years editing code blocks for CodeProject)
cheers
Chris Maunder
|
|
|
|
|
Visual Studio has an option to do it, as do some text editors I've used under linux (not remembering which ones offhand, one ships with Ubuntu)
But even if an editor doesn't, a web page will. Try copying from codeproject into a python script where you're using tabs (CP uses spaces for all of its indented code as far as I know)
EDIT: Oops I meant tabs to spaces!
Real programmers use butterflies
|
|
|
|
|
If you learn the language's idioms, you won't pick up any bad habits.
Programming languages are like spoken/written languages, you have to think in the language.
If you can treat programming languages like written and spoken languages, you won't pick up any bad habits.
Don't be like this: "You can program Fortran in any language"
~d~
|
|
|
|
|
end rant
only 7k lines of undocumented code with temp*this and temp*that.
sigh
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
The good C programmers would already have mimicked some C++ capabilities the hard way and would immediately start doing a decent job. The others should just be given bass boats.
|
|
|
|
|
Greg Utas wrote: bass boats concrete boots FTFY
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.
|
|
|
|
|
CodeWraith wrote: Greg Utas wrote: bass boats concrete boots
Have you no concern for the environment?! The river- and ocean-beds will be covered with used concrete boots!
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
You might use soccer boots to kick their asses instead...
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.
|
|
|
|
|
Or just give'em Python, JavaScript, or other toys for children.
|
|
|
|
|
I dunno. I can think of a few people who would be more useful as starter material for a reef.
Software Zen: delete this;
|
|
|
|
|
Gary R. Wheeler wrote: people who would be more useful as starter material for a reef.
Given their accomplishments in life, their only accomplishments in death would be shipwrecks.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Honestly I think it's better to learn C++ without learning C first, otherwise Cisms leak into your code, and I say that as someone that learned C first.
Real programmers use butterflies
|
|
|
|
|
I still can't deal with snake_case_variables. It was my life for years but it still gives me the shivers.
I've gone soft since my C++ days, obviously.
cheers
Chris Maunder
|
|
|
|
|
Hey now! I use snake case in GFX. If it's good enough for the STL it's good enough for the rest of us.
Real programmers use butterflies
|
|
|
|
|
I'm going to write a VSCode addin that automatically converts snake case to FORTRAN case. ie every variable gets renamed to be a single letter. When all letters are used we start back at aa, ab etc
cheers
Chris Maunder
|
|
|
|
|
Save me from assembly programmers writing C code.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
I still have nightmares.
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
|
|
|
|
|
You called?
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.
|
|
|
|
|
Been there, did that, still making money at it . I spent my early career in and out of various assembly languages, all microprocessor-based. Now that I think about it, I think learning assembly, then C, then C++, and finally C# has made me really appreciate each language as I learned them. Each language in turn provides a manner of expression that is more concise than its lower-level ancestor. If we are honest and not engaged in pointless optimization, we choose a language based upon the abstractions required to solve the problem at hand.
That said, I have a project now that was originally written in assembly language for a custom-built embedded processor. When it was translated to C the programmer was learning C at the same time. As a result, the C code looks very much like the original assembly source. Everything's global and everybody touches everything. Somehow the original guy discovered the setjmp()/longjmp() abomination, and that adds to the fun.
Software Zen: delete this;
|
|
|
|
|
Quote: When it was translated to C the programmer was learning C at the same time. As a result, the C code looks very much like the original assembly source. Everything's global and everybody touches everything. That's exactly what I have to deal with: 'casm' and it is an abomination.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
Save me from people who think they know programming...
The first two examples are VB, all the others are C#, so don't give me that C# is better than VB crap
4k+ lines of undocumented VB.NET code in a single WinForm, boasting over 80 fields at the top of the file
An application that uses global variables for everything! Seriously, they set a global product name and use it in a form, then set it again to use it in another form (breaking the first form if it was ever refreshed, which was not possible, until it was ).
40k+ tables in a single database, with no naming convention whatsoever.
1k+ lines in a single function with loops that are exactly the same, save they iterate over different entities that are functionally the same, but technically aren't.
A report that showed 2000 users, but took 20 minutes to run, team couldn't get it faster until they hired me and I got it back to 3 seconds.
Guy who called me a "little man", cost €100 an hour, but deleted my disposing statements because "the garbage collector handles it for you" and then broke production.
Some guy who created twelve classes that looked exactly the same, but with different read-only property values instead of one class and instantiated that twelve times
All different projects made by different people.
|
|
|
|