Honestly, because its something that should be a prerequisite for starting the degree program in the same way basic algebra is a prerequisite. Likewise, not knowing you need to know this stuff is a sign that you are probably not at the point where you should even be able to have declared the major. The fact that colleges allow this at all is doing a disservice to students, many of whom will go on to permanently damage their academic records.
We don't expect med students to have spent their teenage years doing experimental surgeries on their friends. Or accounting students to have taught themselves by doing accounting for a major business in their after-school time. Nor do we expect a microbiology student to have spent their childhood experimenting with infectious viruses and bacteria in their garage.
I think we expect that in comp sci just because many of us did happen to grow up doing that. But it's a weird and unusual expectation, and probably not a good one.
It also certainly wouldn't have been expected a few decades ago. You just wouldn't assume that a kid had a mainframe in their house to have learned on. Now that PCs have been around for awhile, we make that assumption, but again I don't think it's a good assumption. Certainly not for the less-affluent, nor the younger ones who grew up with smartphones and tablets instead of a PC.
I think there's also a bit of disconnect in what the purpose of the major is. Actually having a separate 'Software Engineering' major is relatively quite new and generally, Comp Sci was what everybody took if they wanted to learn to work on software. But now some people think it's a totally academic thing, while others think it's industry training, and that always confuses the discussion. But even in spite of that, it's just a bad assumption/expectation.
So, beyond a fairly standard high school curriculum and not too much distaste for math, what implicit requirements should we add for physics, mechanical engineering, chemistry, chemical engineering, material science, etc.? Because where I went to school, there were no special requirements for those majors--nor for CS/EE. Is CS today unique for some reason among STEM majors?
Different majors have varying degrees of difficulty for different people. By and large schools don't (and shouldn't) get into the business of heavily policing who gets to give a particular major a whirl.
People are going to really dislike what you said but I agree to a certain extent, especially when it comes to the basics of working in the command line. If somebody can't read the manual on that and figure it out then they are going to be so hopeless for so many other things that I don't want anything to do with them.
If someone has literally never opened a terminal with a command line, you're probably being rather dismissive of how unintuitive it will be for a lot of people at first.
I mean I agree with you in principle but that doesn't change the fact that as a CEO you are in danger of losing your job if margins compress that much and you don't make a show of doing something about it. Keeping margins up is kind of important if you want to be able to invest in new products and markets and survive as a company into the next generation.
Edit: I was talking about the comment above me conflating wanting higher margins with belief in infinite economic growth. I wasn't making a statement about the morality of Ericsson layoffs nor do I have any insight on their financials. I was simply observing that margins seem to be a thing that investors care quite a bit about.
> if margins compress that much and you don't make a show of doing something about it.
Isn’t the layoff them showing they are doing something about their margin compression?
I truly don’t mean my comments to come across harsh. That’s not my intent and realize families will be harmed by jobless. But there’s not much a company can do to cut costs quickly to boost margins other than layoffs.
Yeah not in the US, if anything the past decade has been very good for programmers when compared to other industries. There are lots of industries in the US that are more ruthless than big tech.
The difference is that one of those sets of standards is actually more of a file system hierarchy and API standardization thing, whereas the uni-desktop would presumably force a particular set of gui widgets along with the filesystem hierarchy and APIs that those widgets are built on.
We of course already have something like this (POSIX, Freedesktop, etc). However neither is abided by very well and neither of them go far enough up the stack to deal with certain very visible issues of desktop application incompatibility.
What I think could be done to fix some of the compatibility issues (like when running QT on gnome or GTK on KDE or applications that eschew them both and have janky window decorations) would be some more serious standardization onto something like Wayland. We would of course need something more than a reference implementation for that, but fundamentally I don't see why that would be too restrictive for projects that still want to make their own widgets.
In my imagined hyper-standardized Linux landscape, there'd be a standard for e.g. the semantics of interpreting metrics in themes, and a shared superset of required icons for a theme to have; such that you could create one theme once, and have it "just work", resulting in pixel-identical widgets, under GTK, QT, Wx, etc.
There'd also be a standard for e.g. IPC-based interoperation with file picker dialogs, such that if you were running GNOME as your DE, QT apps would (tell the DE to) pop the (GTK!) file picker to open a file, which would then signal back to the app through some standard message format for describing picked files (maybe with the file-handles themselves passed over a Unix domain socket, if you want something like macOS's sandbox-piercing file-open-intent tokens.)
There'd be a single "accessibility DOM" standard, so that a GTK screen-reader could read the text out of QT apps.
There'd be a single shell namespace standard, with one common set of abstract data types (with multiple implementations), so that opening some GVFS virtual folder in a KDE app would actually work — probably through D-Bus integration between the KDE app and some libgvfs host runner agent.
And so forth.
The ecosystems of each DE would remain distinct in development, with apps designed to fit well together... but the feeling of DEs being walled gardens would be gone, because the various standards would force each app to be a "chameleon" to whatever DE it's running under.
There are a few tiny attempts at this under FreeDesktop. xdg-open(1) is a good start. But we could be doing so much more.
This was a really insightful take on the Unix philosophy that I hadn't heard before but I intuitively agree with because of all the parsing code I've had to write.
I think you are on to something here. That's exactly what happened with smoking.
Factors for that being successful was mostly just repeating the information about how bad it was a lot in the beginning. Once everybody agrees about that, then you slowly start making it socially unacceptable.
I could see a similar thing happening with social media of awareness of the seriousness of the damage becomes as widespread as for smoking. As in I think it's possible that one day it will be totally socially unacceptable to be glued to your phone at a social event of some sort.
If there's something to this analogy, I feel like it'd be worth being more commonly known.
For me, as a Millennial/Xennial, I sure as hell criticised the elders close to me for their smoking and their taking up the habit in their youth. For parents now who have similar stories, it might be a helpful perspective to have on how these things tend to happen and what's required to actually address any problems.
It might also lead to some uncomfortable reflections on the world us Millennials are passing on.
Maybe the best first step for parents would be to quit social media / smartphones themselves and get more active in creating alternative ways of being (however easier said than done that is)?
Interestingly, I'm also struck at how unclear it might be as to which is the worst of these two "generational original sins".
Despite all the health effects, maybe no one lost the ability to think deeply or critically assess propaganda or fall into a cult or become obsessed with their appearance or spent thousands of dollars to throw perfectly functioning pocket computers in the bin for slightly bigger ones from smoking?
A funny image comes to mind of senile Millennials refusing to give up their social media smartphones despite their carers' best efforts, wildly declaring that they've been scrolling timelines since before the carers were born and have been fine.
I‘ve got young boys, so I can’t speak directly to the fears that parents have about their daughters.
I think the door can swing both ways. While consumers can take tobacco as a playbook, there was recent reporting about the stickiness of iOS with Gen Z. I can imagine there a number of people want to (indirectly) keep it that way.
Platforms will come out with some feature that mitigates the social outrage, creates FUD around the true scale of the problem, and kicks the can down the road a little further while millions more get addicted for a little while longer.
The problem is the bar for quality has fallen through the floor and it has nothing to do with the amount of time it takes to develop something. If anything, it's likely to be of lesser quality the longer you wait because more web developers will have infused their shitty code by then.
This is really cool, surprised it has so few stars and I've never seen it talked about here. I like the LISPs but I've always thought not having a CPython type thing was a bit of a deal breaker for making it a go-to "primary" language that I would use everyday.
> I've always thought not having a CPython type thing
What cpython type thing? Do you mean a rich(er) set of built-in datatypes?
Because lots of lisps have that, some (e.g. clojure) also have reader macros for pseudo-literals.
Even Scheme has had a built-in hashmap since R6RS (2007), and R5RS implementations usually provided hashmaps even if they were not spec-defined. Common Lisp has had a hashmap more or less all along (at least since before ANSI standardisation)
People are really out to lunch if they think this is due to people not wanting cars and preferring public transit. I wish that was the case, but it's 100% because of the dire financial situation.
You didn't read the article. It was about a kid still in high school who had access to a car paid for by her parents. She just didn't bother to get a drivers license despite there being every reason to believe that she would have no problem passing the test.
Sure there are those who cannot afford a car, but that isn't what the article is about.
> I wish that was the case, but it's 100% because of the dire financial situation
Not necessarily so.
I live 2 minutes from two tram lines and two bus lines.
I live 4 minutes from a train station with a train every 15 minutes.
It takes my 12 minutes door to door to the central train station and 25 minutes door to door to a 2nd tier European airport with excellent world wide connections.
I'm a member of a car sharing cooperative with about a dozen cars within 10 minutes walking distance. I don't think that I rented one in the last two years because I just didn't need a car.
And all this has really nothing to do with my financial situation. It's just that owning a car with public transport connections within walking distance would not add to my mobility in any reasonable sense.
You'd be surprised if you lived in Copenhagen for a while. About 2/3 of the population commutes either on foot or through public transit.
Personally, I am walking 40 minutes each way to go to work, or uber in the morning and walking in the afternoon. It's not that I can't afford a car. I am just not interested in owning one.
Yeah. Owning and driving a car is becoming really expensive. It's understandable that people will avoid it if they are able to.
Also, I'm pretty sure that many "anti car" teens still know someone, like their parents or a friend, that owns a car and can help them out occasionally.