Sometimes I adore being a narcissistic naysayer.
Did I say sometimes?
Your foundation in Perl will prepare you to quickly move to other more popular coding languages.
Truth.
People love to rag on Perl (oops, I mean perl) but it’s really an awesome language for throwing together quick and complex text parsers. It’s a million times better than awk, that’s for sure.
Wait, learning C or digging privies? (or both?)
I really like [Pp]erl, and still use it for one-liners a good bit in the shell.
If Perl 6 came out like 15 years ago (or 5.12+Moose) the whole lang. might be more popular, since there’s a lot of cool things in there. But it’s hard to pay the bills with only Perl on your resume, so the day job’s Ruby/Java/C.
Good heavens, I’m a developer but I’ve come this far without writing any code at all (unless batch files count). I’ve been working with Remedy for most of the past 19 years and it’s all done through a GUI. There is an API (formerly C, then switched to Java), but someone else wrote the code the 1 or 2 times that we needed it.
More than once I’ve been asked how many lines of code our application uses. I have to explain that there is no code (or that it’s all under the hood). If they persist, then I tell them “27.”
Remedy has taken me this far, but I fear the day I have to look for another job and it’s the only language (per se) that I know. I did take Pascal, C, and C++ back in the mid-90s, but I’ve never used any of it at work. Not directly, anyway – I’m sure it got me thinking in a certain way. The one course that I’ve had any direct use for later on was Unix.
I used to work with a Java and C# programmer who told me he thought Remedy was way harder to learn and use. I told him this couldn’t be possible as almost everything I do is via a GUI, while he actually has to sit there and type the code out (I gather there’s some sort of GUI, but still…). I think maybe he was just trying to make me feel better, i.e. “sure, you’re a developer just like us!”
C was the first language I worked in where I started to think about what my code was actually doing on the hardware. In that regard, it has been an important part of my education, and would continue to be so even if I weren’t working in it anymore.
C++ education should consist largely of knowing which features and combinations of features you should avoid.
Awk is far faster to write and use than perl - as long as you’ve only got one input stream and one output stream. If you’ve got multiple inputs and outputs then perl’s better.
Yes.
Batch files count! But if you can code with a GUI faster than you can type*, you are a slow typist.
* I said “type” and not “code” because of tediously verbose languages like assembler and Java.
There is some code in the sense that the object(s) can be exported to a text file (a .def file), which can then be imported to another server (e.g. migrating something from development to production). It’s possible to open this file in a text editor, and even modify it* but it isn’t officially supported. I suppose it’s possible to write a .def file from scratch but I’ve never heard of anyone doing so.
*I’ve done this when the project manager said “we have a new client coming online tomorrow. I need a set of Remedy forms like the last project you did.” I modified a few strings et voila, a new Remedy app. (More often than not, these last-minute “It’s an emergency!” projects never actually went live.)
It might be for you, but I’m pretty sure awk is an acronym for Awkward Wtf Killmenowpleaseoratleastjustletmeuseperl. YMMV.
…aaaaand you just multiplied two numbers together.
Well, I use and like perl, but I can teach a junior programmer to be a gawk expert in two weeks or less. The language is compact and would be amazingly elegant if it didn’t have an invisible string concatenation operator.
I used netcat and gawk to write a web service in a couple lines once. Miguel de Icaza winced.
Is that Z80 or something? There’s ‘mul’/‘imul’ in x86 asm which are pretty straightforward (so far as any assembler is straightforward - I always tread in fear there.)
And now I too have winced.
Yep, Z80.
No, it won’t. You get so Wall-eyed that you can’t see outside the language…
Your foundation in Z80 assembly will prepare you to, uh, well, I’m not sure I know, but best of luck to you.
Your foundation in A̶P̻̼̤͈̫̦̞L̬̤̣̰̯.̹̠͕͚̰͠.̤͔. will prepare you to take on the e̡̪͖l̨͖̰̬̻̫̟ḍ̩͈̦̥̣͘r̩i̳̠̪t̪c̰͙̳͙h̘͜ ̧̱̠̳͙̙̻͚h̢͓̼̪̣̰͚o͓͔̜̟̳̦̤ŕ̟͉͍̻͓r̹͡ò̮̜̹̦r̮̺̰̙̜͈s̫̼͖͉̩͓͍͢ ̘̠̤̖͚̲o̖f̝̱ ̩͉̀t͉̠̖͇ͅh̼̩̲̙͈͘e͇̺͍̺̹ m̟͖̫͔a͖͖̭d̫̟̙͔̞̜n̙͉͍̪̺e͜s͙͈̼̘ͅs̗̼̰̮ ͔w͏i̥̦t̼̮͍̙h̵͚̖͕̙̼i̳̼n͎̣͢ ̲̤͈̗̣̼̫t̹̟͓̮̝͍̕ͅh͏̠̮e̗̯̞͓͚̳͞ ̰m̗̳a̻ch̢͙͔̮in̛̬̭̥̝̦̻͈ȩ͍̯.̱̘̮̟͓
W̰̻̻͎͇̩͠e͏͖̠l̨ļ͇̮͙̣̘,͔ ̱̲̲̲͔c̡͓̞e̹̯̯̗̦͢ṛ̨̦̪̭̦̪ͅț̥̝͔͕͔̦͟a͔̞̪̖i͈̺n̠͎l͍͈̖̪͚̼ͅy̸͈̘,̪̹̘͔̘̫̼ ͍͉̞̰͜a͈ṉ͟d̩̹ ͇w͞i̠̘̖̟̟t͖̱̲̯͓̗͘ͅh̤̻͎͚̭͓͞o̶u̩t ̠͓͖̥̩̺͍l̬̪̺̜͓̙o͈͙̩ck̴̝̘͕͈̖̻̤-̱̟i͙̞̠͕͙̫̜n̯̫̼͓̫͞ͅͅ ̨͖͕͕̟-͍͟ ̙̭̪͓̗̯y͓o͓u͓̜̣͎ ̷̙͍͚̬͙̜͕g̶̳̪ŕ̫̳̺͇̪o̺̥̙͇̳w͔̲̺ ͝m̝͙̥͇͈͉o̮̙̞͝r̶͔̺̗͙̗e̤̻͍͡ ̭͝ḙ̥̟͈͚́ye͈̹̹͝s̞̲̱̮̮̻̕ a̲̺͖s̪̲̺̼̝̀ ̗͖n̩̬͖ͅe̗͓͇͉͚̖ͅe̴̪̰̞̝̲d̨e̦̰̦̞͓̭͉d҉̺̞̺̳.̻̪̤̜ͅ ̻͚̪̩͞(B̖͉es͉̫̤̦i̴̤d́e̷s͖͉͇,̦̙̰͝ ͙̩̗̹̲̣y̳͝o̗̭͕u̬ ̠́r̘̩̯͔̣ͅe͘a͏͈l͍͎̬͙͕̲l̶̹̝͔y̗͙̺͔͍͞ͅ ͇ẃ̥͖̲͕̳͈̬a͔̙̤̺̪̦n̼̪͔̣͔t̮̙̭̫̟̫͟ ̣̼̘͈̪̥t͇̮̪̙̺͎o̙̖̼̙͎̪ ̼͖̤̰̝m̨o͖ṿ̺̝̞̙̣͝e̙̼̖ ̩̮̦͎̥͚͝ͅu͖̜̻̦̯ͅp͖̦ͅ ̹̩̮̙̼t̖̟̥̖̺o̴̙̝̱̥̲ͅ ̗̖͔̱̱̫͔t͡h͖̠͖̬͔̦e̠͕ ͏̬͖͉̘̘̫͖Z҉̠̮̙̰-̛̻̘̰̗͎̠̖8̖̟͔̣0̢̤̟͇̝̹͎̻0̪̼̱̦͓͙̻0̝̪̳͘0̠͈͚.̸̞)̺̠̘̠̪
There are a lot of perfectly good coders who come from math or physics backgrounds and came to coding through MATLAB and Python and R. There are whole fields of coding that you can do without ever having to get sequential imperative programming that fast, because you’re just using it for basic scripting, and most of the times you really run short of cycles, you can use fast vector and linear algebra libraries in those languages, or just run it on a cluster overnight.
I use R every day, and Matlab when I can’t avoid it (though my wife’s the guru), I wouldn’t call either one “coding”.
I’m sad that this thread has no love for Modula, PL/I, or Ada.