|
First real programming job I had the machine took up 3 racks, the CPU was 4U, the 2 Mb disk 4U. We had 16K ( but I _think_ that was 16 bit words ) and that because both banks had been "knitted" together. Before someone caught that we had ordered 12K. ( PDP 11-15 ).
|
|
|
|
|
Interesting. My first home computer was a PDP-11 (15).
|
|
|
|
|
The reason one gets "old" is due to "time compression": when you don't learn anything new, one day is just like the rest.
I once said to myself I was too old to learn that (something); then looking back, after x years, it now seems is ridiculous.
I've stopped thinking about where a path might lead and if I have enough "time". It only got more interesting. It's the new domains you have to learn along the way.
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
|
|
|
|
|
I have had a theory about this time compression too. One day like the rest is a big part of it. Nothing important for the brain to keep a vivid record about so it seems like the time is short. I notice the effect disappear when I go on vacation overseas where there is so much new to take in. There is also some effect of each year being a smaller portion of the total. So in wide retrospect, things seem to be going faster.
Moral of the story: do new and interesting things!
|
|
|
|
|
Maybe you should consider combining the two - make a parser generator for a custom language you design or one not available on the machine. Maybe a code generator for dealing with I/O of various flavors. I am sure you can come up with something that bridges those interests, if that is something that compels you.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
I've always enjoyed "programming in the small". I've found it's possible to do this in any development environment if you have the mindset for it. The question you have to ask yourself is:
"What's the minimum amount of code I can write that does the job?"
or perhaps more to the point,
"What's the least-engineered code I can write?"
This notion is most easily expressed as things not to do. If you're thinking of acronyms like KISS[^] or YAGNI[^], you're on the right track. I always liked the notion that "every layer of abstraction is another layer of obscurity", also known as "it's frameworks all the way down". Just because you have two or more types of 'things' in your program, you don't necessarily need to create abstractions for them. I especially dislike abstraction layers that are added solely for the purpose of adhering to some arbitrary metric or style guideline.
Software Zen: delete this;
|
|
|
|
|
|
honey the codewitch wrote: with 520kB of RAM
That's 86 times the RAM I'm working on at the moment, and about 4 times the flash size. Automotive is fun!
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
|
|
|
|
|
Nice. I've always wanted to program an ECU.
Real programmers use butterflies
|
|
|
|
|
IDEs suck. I managed to cram VS and VSCode (which surprised me, as on my current project it's better than VS+VAX) everywhere at least as a code editor / navigator.
The venerable TurboC is positively alien technology compared to some of the worst offenders (MULTI and Keil are on the top list).
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've been a programmer for over 40 years, and here's what I've learned.
Every advancement in development that promised to extend the life or improve performance of a given application, or make development faster and easier, will eventually be rendered ineffective under the weight of interference from management. Why bother even learning the new stuff if it's not going to matter in the end.
I have three more years before I can retire. I'm glad.
I'm pretty much done with my Entity Factory code, and have been struggling to maintain interest in writing the accompanying article. I'm simply tired of typing the text. I have to explain 26 screen shots, and I've only managed less than half that in the last two weeks. I haven't even started part 2, which is to explain the thousands of lines of WPF code. And I was intending to write a 3rd part that talked about converting the code to .Net Core, but... well... you know.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
modified 7-Dec-20 5:20am.
|
|
|
|
|
I also have 3 years and have similar struggles. It's a different sort of challenge to find enthusiasm going forward.
|
|
|
|
|
Try working with the young crowd, they will learn from you and you will feel refreshed..
|
|
|
|
|
I'd consider it, if the young crowd didn't all work for other people.
I don't like working for others, and I don't like being an employer. The former goes against what's good for me, and the latter goes against my personal beliefs.
So I'm kind of stuck as a freelancer, but it's a niche I enjoy. That kind of keeps most of the young people away except as clients sometimes.
I do have a much younger friend who has been using my place to teach her 5th grade classes from due to the coranavirus.
So I keep one handy.
Real programmers use butterflies
|
|
|
|
|
Programming tiny connectable gadgets - "Internet of Things or IoT gadgets" is an absolute joy.
No frameworks to muddy the water - with 520kB of RAM you can't afford them, no abstractions to complicate the process, just you and the bare metal.
Building them is fun too.
i'd like to take part in this too. i just don't want to read (old, no time) dozen of articles to get 27 different opinions what is the best way, the economical opportunities, the future, the programming languages...
if i'm not understanding the whole idea of IoT wrong, could you please point to a getting hands dirty info on the subject?
what kind of device to buy and a platform that works with C or Asm and if it must be higher level can it be Lua od tiny JS 5.1?
i hope one can get a job like this, away from all the: products, product offers, customers, reports...
|
|
|
|
|
|
thanks.
Real programmers use butterflies
|
|
|
|
|
I recommend using an ESP32 based development board. You can use Arduinos but they are more expensive and less capable, if slightly easier to work with, but that learning curve isn't a big deal.
Adafruit makes the huzzah feather which i don't recommend.
Hiletgo is a chinese brand I actually trust that makes a decent board and narrower than usual which makes it easier to build with on a solderless breadboard
Another good one is the DOIT devkit ESP32. It's a bit wider, but all the pins are labeled, and Random Nerd Tutorials covers them explicitly - it doesn't matter a lot since they are all the same with the exception of what order their pins come in, but still.
If you have one, you can code against with The Arduino IDE[^] which is C++ but C-ish in the way people actually end up using it because embedded. (mostly No STL,mostly no heap, etc)
As far as getting started, just google anything "Random Nerd Tutorials"
They make the best guides on how to build using these ESP32 things.
Real programmers use butterflies
|
|
|
|
|
As far as getting started, just google anything "Random Nerd Tutorials"
They make the best guides on how to build using these ESP32 things.
much obliged.
what do you think of the Mongoose OS for working with the ESP32?
|
|
|
|
|
I probably wouldn't use it just because I tend to not have the memory for a whole OS/framework plus my code, but bully for them.
Real programmers use butterflies
|
|
|
|
|
I struggle with this all of the time.
A really big problem is people who over-architect things by insisting on chasing after the latest shiny thing or pattern, gumming up the code-base with endless libraries/dependencies and then run off to something else leaving an incomprehensible mess that has to be maintained.
Add in some interfaces, code generation and various packages and many times I find myself asking: "Where is the code that actually does the thingy?"
You cannot go to a controller (MVC) and find the database access code there - no, that is in a handler, but wait, it isn't there either because you've got it pushed off to EF - but the actual implementation is packed behind some generated code - and to edit that you must learn library X, Y, and Z... and it goes on and on for no real benefit.
|
|
|
|
|
We agree, and I say that as a prolific author of code generators.
Real programmers use butterflies
|
|
|
|
|
My first professional dev job was as an embedded programmer at a fire alarm company.
The best project I ever worked on there, was an interface between the devices of an earlier generation system (smoke & heat detectors, pull stations, etc.) and the latest generation system.
We still used the waterfall methodology back then. My manager trusted me and gave me basically complete control of every phase.
I ended up creating a state machine in C on an 8057 microcontroller. I will never forget that day the new gen system began talking to the older gen devices. It was still at the in-circuit emulator stage, of course, but that damn pull station over there, lit that damn LED on the front panel here! lol
Good times.
Now, to your point, the only thing constant in life is change. Nowhere is that more apparent than in software. I realized it very early on and made a commitment to lifelong learning.
But that isn't to say there is only one path through the forest. I essentially followed my heart.
At that fire alarm company back in the late 80's, I worked with nascent "expert system" dev environments to help the service techs in the field. I bought one of the early releases of BrainMaker from California Scientific (I think I still have the 3.5" floppys somewhere) around 1989.
For you young'uns, life is too short to become trapped in the matrix! Take the red pill!
Hack your own path through the forest. It's more dangerous, but by far more interesting.
So, a little off topic. But I had fun.
Cheers,
Mike Fidler
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
|
|
|
|
|
I am not sure why, but I absolutely love designing, coding and/or generating state machines.
Real programmers use butterflies
|
|
|
|
|
One of the things I've noticed aging is I very rarely write programs for fun versus profit, i.e. my job.
When I look at things like IoT, machine learning and AI, I don't feel the motivation to get involved. It's not an inability to learn as I'm often learning and incorporating new things in my work, but it's more that I've limited the scope of the learning to what is practical for me.
I suppose it's like a doctor with a specialty they've practiced for 20 years. The newest things outside of your specialty are interesting, but you probably won't use them.
|
|
|
|