Lately, I was going through the blog of a math professor I took at a community college back when I was in high school. Having gone the path I did in life, I took a look at what his credentials were, and found that he completed a computer science degree back sometime in the 1970s. He had a curmudgeonly and standoffish personality, and his IT skills were nonexistent back when I took him.

It’s fascinating to see the perspectives on computing and how many of the things I learned in my undergraduate were still being taught way back to the 1950s. It also seems like the computer science degree was more intertwined with its electrical engineering fraternal twin.

Although the title of this post is inherently provocative, I’m curious to hear from those of you who did computer science, electrical engineering, or similar technical degrees in decades past. Are there topics or subjects that have phased out over the years that you think leave younger programmers/engineers ill-equipped in the modern day? What common practices were you happy to see thrown in the dumpster and kicked away forever?

The community also seems like it was significantly smaller back then and more interconnected. Was nepotism as prevalent in the technology industry then as it is today?

This is just the start of a discussion, please feel free to share your thoughts!

  • mindlight@lemm.ee
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    9 months ago

    No degree at all but been working IT since the 90’s.

    It’s fun that when I started in IT everything went from centralized (mainframe and terminals) to decentralized (PC). Then came Citrix and everything went towards centralized. Smartphones and apps came so we went decentralized again. Then cloud came and we essentially went centralized again.

    It’s all about trends, the pendulum swings back and forth…

  • jollyrogue@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    ·
    9 months ago

    The prevalence of FOSS software is amazing.

    Linux distros, BSDs, GCC, LLVM, GNU tools… The equivalent stack in the 90s was expensive, proprietary, and rare. I was getting software from magazine CDs, and none of the expensive tool chains were showing up on them.

    Free DVCS in Git is also great. No manual versioning schemes anymore. git init for a new repo. There was SVN, but it required a server.

  • dirthawker0@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    9 months ago

    I think I got my CS degree too early, i.e. before the web was a thing. Basically, things have changed so much from the late 80s to now that everything except the basics are all out of date. I was in the school of Math as opposed to Engineering, so we were coding in Pascal and doing simulations and stuff. I think it would have been better to learn C, though obviously that’s in hindsight. I did take a class in DBMS which served me well some 20 years later when I became a database manager/developer because that language did not change too much. OOP I had to learn from scratch and it was a bit mind blowing.

    I’ve been using Android Studio and Visual Studio code and it’s annoying that stuff is constantly getting updated, but also amazing that these IDEs take care of so much of that stuff for you. Even when I started coding Android about 9-10 years ago you had to manually download and install all these stupid packages. Now the IDE just announces it’s doing it and you go get a cup of coffee and wait for it to finish.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    9 months ago

    I learned things like logic circuits in my CS course in school. And processor basics. I built an elevator control with flipflops and logic gates.

    Today, some students have FPGA courses, and it is a total mess. If it is no high-level language or web-enabled, it simply is an unsurmountable mystery for most of them.

  • HarriPotero@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    9 months ago

    It feels like many positions today don’t deal with things that you couldn’t learn in a 6 month boot camp aimed at a particular stack.

    I did my computer engineering degree in the early 2000s, and we still had a lot of those early day concepts. All from digital electronics, to processor and compiler design. Lots of focus on the formal methods to prove the correctness of software. Plenty of programming paradigms. None of my professors had a degree in CS. There was no CS when they were studying. They all had math degrees and a love for logic and automata theory.

    I can’t say that I’ve actively used it outside of academia, but I think that it has set me up to be a life long quick learner of everything happening in this fast-paced field. Most roles might be working with high level languages today, but those roles wouldn’t exist unless capable people build the compilers, drivers and hardware.

    The field needs people who will comb through specifications instead of searching stackoverflow to figure out things. (I guess asking ChatGPT or copilot are the new stackoverflow)

    I have a guilty pleasure in old things. The Computer Chronicles have all their episodes on youtube, and their analysis of the news in the 80s have held up remarkably well. I’ve also been reading Hollingdale’s Electronic computers. Computers are still just Von Neumann architecture no matter how many abstraction layers we build on top of it.

  • Digital Mark@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    In the good old days, you had to learn assembly/machine language, C, and OS-level programming to get anything done. Even if you mostly worked on applications, you’d drop down and do something useful. At the time, this was writing machine language routines to call from BASIC. This is still a practical skill, for instance I mostly work in Scheme, but use C FFI to hook into native functionality, and debug in lldb.

    Computer Science is supposed to be more math than practical, though when I took it we also did low-level graphics (BIOS calls & framebuffers), OS implementation, and other useful skills. These days almost all CS courses are job training, no theory and no implementation.

    Younger programmers typically have no experience below the application language (Java, C#, Python, PHP) they work in, and only those with extensive CS degrees will ever see a C compiler. Even a shell, filesystems, and simple toolchains like Make are lost arts.

    The MIT Missing Semester covers some of the mid-high levels of that, but there’s no real training in the digital logic to OS levels.

  • Bye@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 months ago

    I went to school in the early 90s and we didn’t really have IDEs. Just text editors with regular expression find and replace and syntax hi-lighting, none of this “show a semitransparent box with your functions arguments” stuff or linters or whatever.

    I still don’t know how to use a modern IDE, I use sublime text. And I debug my code using print statements.

  • QuadratureSurfer@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    Computer Engineering is still a degree where you combine both Computer Science courses with Electrical Engineering courses.

    You typically want to go this route if you want to be the kind of person that can create the logic for next generation GPUs/CPUs or if you like working with where hardware meets programming.