Quotes of the week
I think there's a growing problem in Linux which is exemplified by this Rust debate but which goes way beyond it: We're becoming too fearful of making big decisions to sustain innovation in some areas. This really is a creeping cancer of inertia that has destroyed many projects before us and if we're not careful, we'll go the same way.— James BottomleyThe biggest area where we currently squelch innovation is around anything that touches the user space ABI. Allegations of having to get everything right ab initio because we have to support it "forever" and all the subsequent wittering and second guessing are really stifling innovation in pretty much anything that could be exposed to user space. I really think, to counter this, we need a crash course reminder of all of our mistakes and how we climbed out of the hole they dug us into, because without that we're becoming too fearful of making mistakes.
The object is not to avoid mistakes at any cost, it's to be confident that if you make them, you're good enough to find a pathway out of them again.
My biggest worry is that the kernel community can become irrelevant for young people as a demographic. Young people like things like Rust and web-based merge requests on github. They are also very smart. So I see it as partly an inclusion problem.— Linus Walleij
Posted Jun 23, 2022 8:40 UTC (Thu)
by ballombe (subscriber, #9523)
[Link] (41 responses)
Posted Jun 23, 2022 11:20 UTC (Thu)
by khim (subscriber, #9252)
[Link] (38 responses)
You are wrong. It is taught. But that doesn't help. Because, as with everything taught in colleges, what is taught and what you need to know are wildy different things. I happen to have few friends who are studying for software engineering in colleges. Right now (well… right now is the summer break, but you get the idea). One of them is studying low-level programming for imaginary RISC architecture. No caches, SMP or other such things, of course. One is studying low-level programming for 8086. With Turbo C and MASM! While both courses are interesting they don't, really, teach things you need to know to work with modern hardware. Note: both colleges also have “cloud computing” and “machine learning” courses. Which are not taught with Turbo C and MASM, of course. They are, actually, quite adequate. That's just how colleges are: once the course is written it's expected to be used for 20-30 years before it would be upgraded. And these low-level courses were written long ago, when these colleges first got their CS departments. Thus what they teach now… “young people” are smart enough to understand that what they are forced is 90% of pointless bullshit, 10% of useful info… but they are not knowledgeable enough to separate these (if they were they wouldn't need that course in the first place).
Posted Jun 23, 2022 13:26 UTC (Thu)
by pizza (subscriber, #46)
[Link] (34 responses)
I disagree, for two reasons:
1) Given someone who has taken one or both those courses vs someone who hasn't, one will clearly know a _lot_ more about what it takes to work with actual hardware.
2) Any "coursework" will necessarily be behind the bleeding edge of whatever is going on in the industry at the time. But that's fine, as the point of going to college is to teach you foundational theory, not whatever flash-in-the-pan technologies marketing departments are hyping at the time.
Posted Jun 23, 2022 14:57 UTC (Thu)
by smoogen (subscriber, #97)
[Link] (33 responses)
You are right that the fundamentals should be taught, but like most infrastructure, the VCs', the computer industry and schools have decided to bury it until the problem boils up like a backlog of broken sewage pipes and the roads of Web3 crypto fall down somehow.
Posted Jun 23, 2022 15:50 UTC (Thu)
by Wol (subscriber, #4433)
[Link] (5 responses)
We had this mad dash for academic and university qualifications - "if you've got a degree you typically earn 3x the average salary" ... well that was true when maybe 10% of the population had a BA/BSc (and was why a UK Batchelors was considered equal to a US Masters - far fewer UKians had degrees!) Now 50% of the population have degrees, it can't be true, but most of the people with degrees don't actually have the ability to comprehend this fact ...
Now every man and his dog has a degree, they're worthless, but the politicians seem to think "more is better" regardless of quality. It does seem, however, that the general populace is cottoning on and not bothering with Uni, unless they want to go into a job where the politicians have made a University degree mandatory ...
(In which case, it's really a glorified apprenticeship and not worthy of the term "degree" :-(
Cheers,
Posted Jun 28, 2022 15:52 UTC (Tue)
by nix (subscriber, #2304)
[Link] (4 responses)
Your age is showing. That's not because degrees don't come with a huge salary uplift any more (some still do): it's because a lot of people don't want to be saddled with £30000+ of extra debt for decades. Back in my day (and probably yours) we got grants and uni was free, but it's *expensive* now for any but the richest 5% or so, and people are washing their hands about how terrible it is that poor people don't go any more (well duh, of course not, we've made it nearly impossible).
Posted Jun 28, 2022 17:32 UTC (Tue)
by excors (subscriber, #95769)
[Link] (2 responses)
I'm not sure it's true that poor people don't go any more. UCAS says the opposite: (https://www.ucas.com/corporate/news-and-key-documents/new...)
> 28% of young people from the most disadvantaged areas (quintile 1 using the POLAR4 measure) have applied – up from 17.8% nine years ago in 2013. [...] Today’s figures also show record application rates for 18 year olds in three of the four nations; 44.1% in England, 37.5% in Wales and 52.6% in Northern Ireland, with an application rate of 35.4% in Scotland representing the second highest from last years’ record high.
and as far as I can see that's a continuation of pre-pandemic trends, and also pre-2012-tuition-fee-increase trends. The top universities are starting from a much lower proportion of disadvantaged students but are showing the same trends.
It sounds like a lot of the change comes from universities actively working on providing support and outreach to people from disadvantaged backgrounds, and perhaps it might have improved quicker without the tuition fee changes, and there's a long way to go yet, but it is still gradually improving under the current system.
Posted Jun 28, 2022 21:11 UTC (Tue)
by nix (subscriber, #2304)
[Link] (1 responses)
Posted Jun 28, 2022 23:40 UTC (Tue)
by excors (subscriber, #95769)
[Link]
(The less-disadvantaged groups were particularly high in 2011 and low in 2012, probably for multiple reasons but at least partly due to a large decrease in deferred entries in 2011 (https://www.ucas.com/sites/default/files/ucas-end-of-cycl...) - I guess it was students who'd normally go on a gap year, but in 2011 they chose to go to university immediately to get ahead of the fee increase, so that skewed the numbers for those years without much long-term impact.)
Posted Jun 28, 2022 19:20 UTC (Tue)
by Wol (subscriber, #4433)
[Link]
The advice now is "don't worry about the debt, you're never going to pay it off so treat it like another tax". And yes some jobs do come with an uplift, but far fewer nowadays (and it doesn't address my point that they keep stressing PAST uplifts, when so many grads end up in minimum-pay jobs nowadays - it would be interesting to know what percentage of recent grads earn enough to even START repaying their loans :-)
And back in my day my contemporaries didn't pay to go to Uni, but because I didn't go and studied part time, I had to pay - they were stingy even back then (and because I paid for my degree, it disqualified me from going for a freebie later on!)
Cheers,
Posted Jun 23, 2022 16:30 UTC (Thu)
by somlo (subscriber, #92421)
[Link] (1 responses)
- during the 400-level comp. arch. course, students are building an rv32i core in verilog, designed to run in a simulator. You can't really push this much further, because there's lots of concepts, including the proverbial 5-stage pipeline, that kids would have to wrap their heads around. Try for rv64gc, and you're losing 90% of them, even the really good ones, and needlessly so.
- during the OS course, students are building a kernel (with threads, processes, fork/exec, and virtual memory) for i386. Why not x86_64? Well, the amount of learning about OS doesn't change significantly, but now you have twice as many layers of indirection in page tables when implementing VM, and lots more "foot-guns" (from a learning perspective). Mastering the added nitty-gritty complexity doesn't teach you "more" about VM or OS in general, it just makes it harder to get stuff working, and therefore increases frustration without much in the way of additional skills being acquired.
So, long story short, I'd agree with "teaching Z80 assembly is probably worthless", but not with "teaching how to *build* a Z80 is worthless" :) It all depends, as usual...
Posted Jun 24, 2022 16:22 UTC (Fri)
by khim (subscriber, #9252)
[Link]
If someone actually voluntarily chooses Z80 assembler or the course which teaches one how to build Z80 assembler then both can give you nice insights. But if the course is mandatory then the most important part is to tie it to the other courses. If you would pick either x86 or ARM and show students how you can, e.g. multiply the matrix slightly differently with 2x-3x difference in speed — then it's immediately obvious that they are studying something which may help them write better code (and earn better salary). If you teach them something “obviously useless”… they would actively try to forget everything they learned on the very next day after getting their marks finalized.
Posted Jun 23, 2022 17:16 UTC (Thu)
by pizza (subscriber, #46)
[Link] (17 responses)
You're comparing apples to oranges here; but the fact that most students go chasing after what's currently popular on linkedin makes my particular hardware-centric niche quite lucrative.
But going back to SPARC32 in your example -- are you seriously saying that folks should be using x86 or even arm [1] asm instead, when you're trying to teach how CPUs actually work (load/store, operations on registers, stack manipulation, etc) all that extra complexity just gets in the way. Once you can grok the simpler (but still similar to modern) CPUs, jumping to something more modern/complex/commercially relevant is much easier.
[1] Other than perhaps the armv6m instruction set (ie a thumb2-subset) the "R" in "ARM" hasn't meant "RISC" in decades.
Posted Jun 23, 2022 17:32 UTC (Thu)
by mpr22 (subscriber, #60784)
[Link]
> When the essence of RISC has been understood, the absurdity of the claim that the PDP-8 was the first RISC machine becomes obvious.
(http://www.inf.fu-berlin.de/lehre/WS94/RA/RISC-9.html – "The RISC Concept - A Survey of Implementations" by Margarita Esponda and Raúl Rojas.)
Posted Jun 24, 2022 16:14 UTC (Fri)
by khim (subscriber, #9252)
[Link] (14 responses)
I'm saying that you have to use something they can actually include in their Android App or Windows App. In that case they have a chance to actually use what they were taught for something. When you teach them MS-DOS programming on 8086 CPU or some RISC programming on imaginary CPU they don't perceive it as something even remotely relevant to what they feel is important. For 99% of students (and, worse, probably for their teachers, too) what they are teaching are some fairy tales which are 100% irrelevant to what they do on web courses or machine learning courses. Even things which are still kinda-sorta relevant in today's world don't stay in their heads because how would they know these things are still relevant? It's something old, moth-ridden teach, probably 100% useless — at least that's the perception.
Posted Jun 24, 2022 19:28 UTC (Fri)
by pizza (subscriber, #46)
[Link] (12 responses)
Then WTF did that person sign up for a course to learn about the fundamentals of CPU operation and assembly language if all they care about is writing android apps?
> When you teach them MS-DOS programming on 8086 CPU or some RISC programming on imaginary CPU they don't perceive it as something even remotely relevant to what they feel is important.
You know, one of the points of being a student is that, whatever your feelings, you don't know enough about anything to know what is actually important.
Meanwhile, When you'e doing a CompE degree, knowing how CPU instruction sets are put together and implemented is _very_ relevant. When you're doing a CS degree with a systems specialization, knowing how high level languages get mapped to asm, and the implications for data structures and locality is also _very_ relevant. Everyone else? By all means, pick a different elective.
> For 99% of students (and, worse, probably for their teachers, too) what they are teaching are some fairy tales which are 100% irrelevant to what they do on web courses or machine learning courses.
The same can be said about pretty much any field of study. Do 99% of students in science-focused areas of study care about calculus?
Posted Jun 25, 2022 10:33 UTC (Sat)
by mpr22 (subscriber, #60784)
[Link] (4 responses)
Calculus is highly relevant to almost everyone who wants to actually get into physics, and someone who just wants an abbreviation beginning with 'B' after their name because they think it's good for their employment prospects can probably find a more congenial topic of study than physics.
Posted Jun 25, 2022 15:51 UTC (Sat)
by khim (subscriber, #9252)
[Link] (3 responses)
Nope. Not all calculus is relevant. You need to know how to apply certain things from calculus to get physically plausible answers. And people are not learning obscure parts of calculus like calculus of functors. Except the ones who would pick them voluntarily. Yet people in CS department are taught things which are almost entirely irrelevant to practical programming… can you blame them when they are not all that enthusiastic?
Posted Jun 25, 2022 21:08 UTC (Sat)
by pizza (subscriber, #46)
[Link] (2 responses)
My CS department required me to take more mathematics than even the engineering students, as well as formal logic, proofs, automata, and other "theory-of-computing" types of stuff. The goal of that program was to produce _scientists_ who could advance the field, not crank out code monkeys. There are much easier, faster, and cheaper ways to achieve the latter.
Posted Jun 28, 2022 14:10 UTC (Tue)
by khim (subscriber, #9252)
[Link] (1 responses)
Maybe 100 years ago or 50 years ago when the majority of people with high diploma degree were scientists this approach worked. Today the majority of people who are getting high education are doing that with the desire to join companies like Google or Microsoft… and become code monkeys in reality. That's how this whole circus may survive. Do you really think that 50% of population should become scientists who will advance the field? IMNSHO that's entirely unrealistic.
Posted Jun 30, 2022 11:23 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
None of that makes it right to shove all that into CS. CS is about computer science. It should be forming scientists, that is its goal, the name itself tells you that. You don't need the programmers' education to be the same as scientists, but changing course within CS careers is pretty much doing it wrong for both. Now you have programmers making an unnecessarily hard career and scientists having to compromise on either a larger career or diluting subjects that are important for their profession. If programmer oriented careers suck or whatever is it that makes people lean on CS courses when they just want to program, then fix those careers.
Posted Jun 25, 2022 15:45 UTC (Sat)
by khim (subscriber, #9252)
[Link] (5 responses)
Who said he did? Someone was complaining to CS department that students know nothing about low-level programming. The guys in charge heard and understood. And made that course mandatory. Now students learn the course which they know is just a waste of time. Would that give them knowledge of anything? That was, maybe, true, years ago. When 5% or 10% got BA/BSc. Today situation is different: about 50% get the degree thus, of course, people come there knowing full well what they need to know (hint: look on any hiring site and see what skills are listed there). Everything else is irrelevant waste of time to the majority of them. This even affects guys who want to learn something: it's kinda hard to be excited about something if you know you would be mocked and ostracized if you would do that. Not an option. It's not an elective. Most likely not. But they are taught it, anyway. And teachers know they don't care about calculus per see (but can be interested by practical applications of it) and thus they pick “practically important” parts of calculus to ensure these students would be interested enough to learn something.
Posted Jun 25, 2022 20:59 UTC (Sat)
by pizza (subscriber, #46)
[Link] (1 responses)
Ah, so what you're really saying is that an "education" is an irrelevant waste of time for the majority of people.
Posted Jun 26, 2022 7:09 UTC (Sun)
by Wol (subscriber, #4433)
[Link]
Probably yes.
Somewhere in education theory I came across the ?fact? that we acquire the ability for abstract thought at about age 14. Accompanied by another sobering fact - maybe half the population NEVER acquire that ability.
Given that that ability is pretty much a necessity for a higher level education, it seems clear that a large chunk of our effort directed at University Education is pretty much wasted ...
Cheers,
Posted Jun 30, 2022 11:25 UTC (Thu)
by mrugiero (guest, #153040)
[Link] (2 responses)
Posted Jun 30, 2022 11:37 UTC (Thu)
by khim (subscriber, #9252)
[Link] (1 responses)
How? The majority of people who finish that department (and continue to work on something related to what they learned) end up working as programmers. This, naturally, makes it reasonable to go there to work as a programmer and get a better salary. How? Yes, at one point this department was about science. Today it mostly provides programmers to the industry. And people join it to become programmers in the industry. It's similar to Linux: it wasn't create to power mobile devices. But today the singnificant percent of Linux devices are phones. Thus you can not ignore issues of power usage. Similarly when college mostly produces programmers it should be optimised for that.
Posted Jun 30, 2022 13:24 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
And many physicists end up working in data science using a subset of the skills they got in college. That doesn't make it an efficient path to get there, and any physicist would point out that making it a data science career by removing all those useless quantum mechanics classes would be utter nonsense.
> How? Yes, at one point this department was about science. Today it mostly provides programmers to the industry. And people join it to become programmers in the industry.
By accident.
> It's similar to Linux: it wasn't create to power mobile devices. But today the singnificant percent of Linux devices are phones. Thus you can not ignore issues of power usage.
This is a very bad analogy IMO. Kernels behave similarly in mobile and non-mobile devices, specially since the main difference between two very similar usecases (desktop and laptop) is just the battery. Enter phones and the kernel cares for much the same things as laptops, specially with today's smartphones that are quite beefy compared to computers of old. The userspace and GUI, on the other hand, needs to be wildly different, and it is. So, if we're going with that analogy, Linux is algo 101. The intro may very well suit anybody. But at some point you need to specialize to properly serve the user (student). You don't run KDE on a phone, and all attempts to do that failed. You don't run Android on your workstation.
> Similarly when college mostly produces programmers it should be optimised for that.
Absolutely not. Nothing stops you from creating a career that is optimized for producing programmers. What we have right now is suboptimal for producing both programmers and scientists. The concerns are not the same.
Posted Jun 30, 2022 11:19 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
Posted Jun 25, 2022 20:22 UTC (Sat)
by kleptog (subscriber, #1183)
[Link]
In my opinion, teaching students about assembly language serves one purpose only: to demonstrate that computers are not magic and that those fancy high-level constructs in C can be converted to something a truly stupid machine can understand and make work.
In theory you could use a Turing machine, but they're a total pain to work with for anything of any complexity. So a real assembly language, or a fake one meets this goal a lot easier. (In our course we started with an emulated CPU for the basics before moving onto a real one, SPARC32 as it happens). You don't want to write serious programs in assembly, just get an understanding how it works.
In this day and age an introduction how GPUs work probably isn't a bad idea, since that's a different paradigm in many ways.
Posted Jun 30, 2022 11:15 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
Posted Jun 28, 2022 8:28 UTC (Tue)
by dankamongmen (subscriber, #35141)
[Link] (6 responses)
Posted Jun 29, 2022 13:46 UTC (Wed)
by bcopeland (subscriber, #51750)
[Link] (5 responses)
It seems really short-sighted to cast computing education as passé when so many foundational ideas from the 60s-70s are still relevant. Should we throw away our Knuth just because it targets a made-up ISA?
Posted Jun 29, 2022 15:24 UTC (Wed)
by khim (subscriber, #9252)
[Link] (4 responses)
Knuth is fine book to have in your library. Just a bad book to use as base for college course. And the same is true for other courses you cited. They are fine for someone who wants to become a scientist and dedicate his (or her) life to advancement of CS. They are pretty bad for guys who are studying to join the IT industry. And in today's world latter outnumber former by a factor of 10 or so.
Posted Jun 29, 2022 16:33 UTC (Wed)
by pizza (subscriber, #46)
[Link] (3 responses)
FFS, this is all happening because folks are cargo-culting the diploma itself, instead of the work/knowledge/education that (historically) went into one.
Posted Jun 29, 2022 17:37 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (1 responses)
Eggsackerly. And that's why we had Universities, which were there for academe, and Polytechnics, which were for churning out workers. Until the Polys, or the Polis (don't know which), decided that the prestige of the University was important. Never mind that a large proportion of the population aren't of the right sort of mind for a real University education.
Cheers,
Posted Jun 29, 2022 18:26 UTC (Wed)
by mpr22 (subscriber, #60784)
[Link]
The core differences were (a) the courses initially offered by polytechnics were mostly STEM, with the T and E parts having more of an "industrial relevance" character than the equivalent courses at universities (b) polytechnics were controlled by local authorities instead of being independent entities and (c) polytechnics didn't have authority to issue degrees independently, because they were not universities.
The polys started offering an increasing range of courses (both vocational and academic) that weren't what would usually be thought of as STEM, diluting (a).
Maggie's Tories decided to get rid of point (b) in 1988 because they didn't like Labour having any say in how higher education institutions were operated.
Finally in 1992 it was decided that without the divides (a) and (b), the divide in (c) was becoming ridiculous.
Posted Jun 29, 2022 19:22 UTC (Wed)
by gioele (subscriber, #61675)
[Link]
The educational system of many countries already has that. For example Germany has, at least in principle, Universität (where you are taught how to become a proper scientist) and Fachhochschule (where you'll learn how to be good at your job in the industry).
But every year the line between these two kinds of higher-education institutions blurs more and more. And in some fields (Medicine, Law), the distinction has always been kind of fuzzy.
Posted Jun 24, 2022 1:04 UTC (Fri)
by bferrell (subscriber, #624)
[Link] (1 responses)
And I want no code from a step-by-step jockey and I don't want to work with them. They stub toes on curbs walking down streets and think the slightest divergence is ALL NEW AND NEEDS RETAINING (while running in circles with their hair on fire).
If you can learn the general principals from what IS taught and turn them into step-by-steps and the variations... "You can be my wing man"
Posted Jun 24, 2022 16:02 UTC (Fri)
by khim (subscriber, #9252)
[Link]
What you need to know about low-level hardware is described, e.g., in that series of articles. You wouldn't find in a course which is based around MS-DOS and 8086 or old RISC chip simply because these issues haven't existed when these courses were written. Not only courses don't touch these important, actually critical details, more importantly: often even teachers that teach these courses don't know them! Instead you learn about things that truly don't matter today. Like difference between “base registers” ( So you learn stuff which you don't need from people who know they are teaching things you don't need. Thus even little amount of information which is still relevant wouldn't stay with you after you would finish that course.
Posted Jun 30, 2022 11:04 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
Posted Jun 23, 2022 19:37 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
That's simply not true. Low-level development for Arduino-type SoCs is extremely popular in many universities. Both for stand-alone courses and as an application for various robotics/real-time stuff.
Classic i386 OS kernel assembly programming is less popular, but it's still there.
Posted Jun 24, 2022 15:10 UTC (Fri)
by tbelaire (subscriber, #141140)
[Link]
What I wasn't taught was how to mail git patches.
I mean even now, I worked on IMAP stuff and I still prefer to look at PRs in the browser.
Quotes of the week
> It is not even taught anymore.
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Wol
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Wol
fundamentals vs. "latest-and-greatest"
fundamentals vs. "latest-and-greatest"
Quotes of the week
Quotes of the week
> But going back to SPARC32 in your example -- are you seriously saying that folks should be using x86 or even arm [1] asm instead, when you're trying to teach how CPUs actually work (load/store, operations on registers, stack manipulation, etc) all that extra complexity just gets in the way.
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
>
> Today the majority of people who are getting high education are doing that with the desire to join companies like Google or Microsoft… and become code monkeys in reality.
>
> That's how this whole circus may survive.
>
> Do you really think that 50% of population should become scientists who will advance the field? IMNSHO that's entirely unrealistic.
> Then WTF did that person sign up for a course to learn about the fundamentals of CPU operation and assembly language if all they care about is writing android apps?
Quotes of the week
Quotes of the week
Quotes of the week
Wol
Quotes of the week
> They knew so little they enrolled in a career that wasn't about being hired to be a programmer.
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
Quotes of the week
gotta disagree regarding university training
gotta disagree regarding university training
> Should we throw away our Knuth just because it targets a made-up ISA?
gotta disagree regarding university training
gotta disagree regarding university training
gotta disagree regarding university training
Wol
gotta disagree regarding university training
gotta disagree regarding university training
Quotes of the week
Quotes of the week
BX
/BP
) and “index registers” (DI
/SI
). Which 80386 eliminated (for 32bit programs) 35 years ago.Quotes of the week
You'd be surprised how few of them can actually do anything low level afterwards anyway. The subject, due to its complexity, is team work, which essentially means the person most interested in the subject carries everyone else in the group projects, then exams can't really evaluate the relevant skills. Sure, you can write some very dumb routines in paper that you don't get to test and describe a page table with your Intel manual at hand, which is obviously allowed as reference, but that doesn't mean you can do anything in a real setting.
Quotes of the week
Quotes of the week