Not underrate. There are only so many hours to spend learning. Current school systems put Math on the same footing with History, PE, foreign language...etc.
I have literally been saying just this for years when someone says "STEAM". At that point, it is just school again.
I agree that History, Art, Music, Literature, Philosophy...etc are important and can't imagine a world without them, but the whole point behind STEM was to put a focus on Math and Science because those help us keep our economic edge and solve the world's upcoming problems on the technical side.
Providing some after school programs to cover programming, computers (real computing principles and not just how to use Microsoft products and type), robotics, and additional math is good and gives our children a leg up. 1-hour of Math a day might not be enough.
It turns out that those solutions STEM folks have to technical problems have created a whole host of social problems. The pendulum needs to swing the other way.
STEM folks write the guidelines of how it should have been done, then the bureaucrats say "You know what this needs? The critical thinking skills that only liberal arts can provide!"
Two points: it seems a little grotesque to be focusing on creating people trained in STEM solely for the purpose of keeping an "economic edge", as if they were troops that we need to keep us safe, and university students are some kind of army we need to train, and secondly more and more ethical and cultural issues due to what STEM students go on to create have come to light recently, and training in critical thinking, philosophy and even art may help with that - though in a way that also seems wrong-headed: to encourage people to pick humanities subjects to help the people who picked STEM subjects not be unethical. It's Kafkaesque.
I mean, you're not wrong. That's the whole point behind a specialized workforce. The whole point to modern society is individuals focus on something and do it, really, really well. We then suffer doing other stuff competently. Other than the occasional hobby gardener, how many tech engineers know how to maintain a vegetable garden? I've asked this to a few people before. They just imagine it's as simple as throwing seeds in the ground, making sure there's water and waiting. Growing food on a decent scale, like feeding just yourself, takes a lot more. Knowing how and when to fertilize soil. How much sunlight. How much water. Seasonal timing for maximum yield. Recognizing disease and ailments. And it goes on. But we're a society where not everyone has to farm. That's both good and bad. Same goes with building homes, bridges, maintaining a water supply, electricity, preserving food, curing disease, etc.
But the drawback to that system, it's easier to wipe out a small population and start to handicap that society. Thus, you do have a "type of army" of structural engineers that build and help maintain bridges. If they're gone, there are problems.
I do have one... discussion point(?) I'd like to bring up. I constantly see and hear that liberal arts and what not is supposed to teach critical thinking. How does it do so more than engineering? Engineering especially forces you not to just think of the immediate solution, but long term both in terms of wear/tear, environment factors, attack vectors and future proofing against obsolescence. Yet, I'm told, rather often by other people that a liberal arts major can do this better than an engineer. Look, I'm a sub-par engineer and programmer. I say this often and will never hide it. But I've yet to meet someone with a liberal arts or literary degree that can do analysis and solution strategies on complex, real world problems anywhere close to me. Sure, I get hung up on theoretical problems. Really badly too. But when it comes to the real world, I've never met a non-engineer who can step forward on a, again, real world problem.
Engineer here with an anecdotal story. My sibling has a doctorate in liberal arts (teaches at a university and publishes papers) and reads quite a bit and has said similar things on how this aids in critical thinking. They're great in some discussions, but all technology is essentially magic and math is complete gobblegook to this individual. This isn't to say they aren't smart and don't add value to society, but the things this person and many of their colleagues lack (basic numerical literacy) is important and a big part of what separates us from far more primitive cultures over centuries. I understand specialization and how it is vital, but a vast window of the universe is closed off to them.
Oh agreed. Specialization isn't perfect. But a lot of engineers, I think, like being "well rounded(?)". Mostly when it comes to making things. But, if you take the youtube channel Tech Ingredients. That dude is like the spirit animal to engineers. The guy can build anything from freezers, AC, jet engines, speakers and even make his own whisky. And again, I'm a sub-par engineer both mechanical and CS, but the problem solving skills and maths I know, there's very little in the real world that I get lost to. To build things out of my skill set, I still have a learning curve, but to me nothing is impossible. And so far, nothing really has been for me. If one human has built it in the past, I know I can eventually do it. But like you said, a liberal arts type, they just really gloss over.
I'd also argue, take a decent engineer in any field. Structural, mechanical, CS, electrical, whatever. Now tell them to teach themselves... oh, I don't know, philosophy? Maybe law. Well, I'd argue law is a more "scientific" version of philosophy because it does have "more hard rules". Me using those quotes are important to understanding what I mean. But, I think an engineer is well suited, after half a decade or a full decade of working, to teach themselves anything. Because that's part of the job. Learn, learn and learn because you're not done learning. Oh, and you need to try learning things that no one else has discovered too. Then learn more. I guess, I just have never seen an LA later learn engineering. But I see engineers learn LA.
Basic numerical literacy is important for everyone, but it is no exaggeration to say that moral, political and philosophical (and that includes the philosophy of science) development also separates us from far more primitive creatures over centuries. To me it makes equally as much sense to say that all that development is closed off to engineers (and I say this as someone finishing up an engineering degree myself).
I do disagree. Many other creatures play politics and morality. Wolves and chimps have power and political struggles all the time. Along with taking care of those injured. But an individual that has a history of taking more than their share and not helping the group doesn't get as much help when injured. They do have their own morality. Whether we agree with it or not, is not really our place. The same type of discussion that brought up when discussing how one country should conduct business as that's an infringement of sovereignty. Even paleolithic hominids (a recent fascination of mine) show culture and morality because of bones with massive fractures that healed over time. Said hominid then lived for many more years. A sign they were taken care of. The more philosophy you learn, the more you realize that we're really not that different. We're just smart enough to see how different we are, but too stupid to realize how similar we are.
So, how is morality, politics and philosophy closed off to engineers? You make it seem that an engineer is pure cold and calculating. That's just a terrible stereotype that, I thought died off quite a while ago. Then again, that stupid ass show The Big Bang Theory kind of brought that idea back.
Engineering teachings teach you to constantly learn. Essential, an engineer is never done learning until they die. This spills over to other topics just fine. The difference is, there's already a skillset of finding accurate and reliable sources, creating your own lesson plans (in a way) and diving into said subject.
>Wolves and chimps have power and political struggles all the time. Along with taking care of those injured. But an individual that has a history of taking more than their share and not helping the group doesn't get as much help when injured.
This is not politics. I feel as though this discussion is stupid, since I think it's reasonable to say that the degree to which animals have "politics" is lesser than those animals which have tool use. You cannot forget that technology is always coupled to a certain stage of historical development, it does not happen in a vacuum. There is no such thing as production in general.
>Said hominid then lived for many more years. A sign they were taken care of.
A lot of animals take care of each other, it doesn't mean much in the way of how humans do it.
>So, how is morality, politics and philosophy closed off to engineers?
It is closed off in the same way that engineering is closed off to liberal arts majors, as the parent commenter claimed. That is to say, you must learn it, and learn how to argue about it. Of course I don't claim that you need to be a liberal arts major to be moral or even have cogent ideas about morality, but you still need to learn how to argue your point if you're talking about it, and you can only do that by learning about what's been argued before.
First of all, congrats on finishing up your degree!
As a counterpoint to the above, I believe most highschool students can read the publications of many professors in the liberal arts and understand what they're saying (Ex: literary criticism) although it helps to have some background knowledge of the period in question. How many highschool students or even liberal arts professors can read and comprehend practically anything that someone in the engineering department published? My point is that it takes a lot more effort to get a working knowledge of something like physics. Although not everyone can and should be able to read a quantum mechanics textbook, I think the average adult should know about things like entropy. If you don't agree with STEM, at least change the course requirements so that the technically inclined can get more math and science courses under their belt. Your country may already do that, but it isn't super common in the US (public or private schools). My parents forced me to go to Catholic school growing up (public schools were terrible in my area) and this resulted in mandatory 1-hour of daily religion class for 13 years that I could have used for something else I would've preferred (math, science, engineering, programming, philosophy). Regardless of one's views, I question the sheer breadth of the US system over depth.
The whole ideology of capitalist society is that you're supposed to be able to pursue whatever goal you'd like, that you accept the consequences of that decision, and that there is no common good by which individuals should be directed, at least by force. Now I don't think that's the case, obviously, but that's the ideological line. Thus the creation of an "army" of structural engineers would involve some level of coercion to direct the wants and needs and mold ordinary members of society into the engineers of that society. The precondition for this is only being a member of society with sufficient funds (or ability to loan) to enter the education system. But the precondition being 'molded' this way is different from the army system in most Western countries in which there is no conscription. You never chose to be molded that way, you were simply born with access to the education system. By joining the army you chose to be molded that way. I concede that 'molding' happens all the time from every imaginable source, but it seems to me to run directly counter to at least the spirit of freedom to pursue one's own ends under such influence. The invisible hand is superseded by a government's education secretary.
With regards to your point, the answer probably lies along the different types of reason. To put it crudely, if we were to ask whether a bomb made by a mad scientist is 'good', an engineer will first be directed to look at it in terms of destructive capacity, wear/tear, whether it can be used in the rain, and whether the production line is future-proof against enemies. The philosophy student, hopefully, will be directed to ask whether it was ethical for the mad scientist to create the bomb. The difference here turns on the meaning of the criterion (goodness), which is viewed from two different perspectives.
Plenty of "liberal arts" degree holders really do engage in analysis of complex, real world problems. For instance, the debate around, say, pornography (a very contentious topic which can and does inform legislation), distributive justice, or taxation (in the more abstract sense) is usually held by philosophers and sociologists. These are extremely important and complex problems that are informed by empirical data, not unlike in engineering. It seems as though you expect the philosopher to come forward with a ready-made solution, and indeed many do, but the field operates differently, it operates through dialogue, not only learning from past work. Next, it is worth considering whether working on the real world problems "close to you" is more important than more abstract ones. Philosophy and sociology work at a slower pace than the already slow engineering. It takes years or decades for new engineering works to make their way to pervade society (not merely to influence a few companies in tight competition with another) and it likewise takes a long time for attitudes to change.
While I can't speak for other commenters, I wonder if we aren't speaking past each other a bit.
I don't think anyone should be coerced into a field of study and I'm not sure if the "army" quote from the other poster should be taken literally. I read it as you should make sure society has enough in that basket to maximize welfare for all, but I could be interpreting them poorly.
When I hear arguments for STEM, what I and many others generally mean is that the pie-chart for things studied in school (Math, Language, Literature, History, Geography, PE, Sociology, Science, Art, Religion, Music...etc) should be tweaked a bit to where the Math, Science, and Technology subsections are bigger. If that means reducing the rest of the courses by some small percentage in order to do so, then so be it. Note that I'm not talking about eliminating anything entirely.
Regardless of chosen profession, I can't think of anyone who wouldn't be better off by being more scientifically and mathematically literate. At this point you might ask if the same couldn't be said for other subjects like music and I would disagree. Although all learning and knowledge should generally be considered a blessing, scientific reasoning is a force multiplier. Think of all the ignorance regarding vaccines, climate science...etc.
Yes, that's why I put it in quotes. There should be an appropriate sized pool of specialty-whatever to be effective in a society. But also plus some. Just so you don't have an accidental brain drain. But output is important too. Even though there's lots of hate for commercialized farmer. It now takes less farmers to make X amount of food for a larger amount of non-farmers. But, we can also argue quality and environmental impact of said practices due to such wide scale farming practices.
I think this might have been the early definition of STEM or I'm just an idiot. But I thought it was Sci, Tech, Engineering and Medical. Math just seems redundant to me in that. Because those 4 career fields are for the most part, all well paying and technical. So... yea, I guess... But also, I'm not for the end of art class or anything like that. I actually think music and art need to have a better focus of doing rather than just the history to students. Good for the soul, if you will. Something I've been working on myself recently.
Well, you know the saying that anything technologically advanced enough to someone just seems like it's magic? To me, that's exactly why people need to at least dip their feet into all STEM.
And I think you said it best. Things like philosophy, the humanities and so forth, are a force multiplier. However, no matter how large the number is multiplied against 0, you still get 0. I think STEM is your base score and the rest are force multipliers. My opinion.
The idea that US high schools provide a liberal arts education when colleges increasing find themselves unwilling or unable to is a fantasy. The STEM focus was born out of the inadequate secondary education. Those same inadequacies exist in liberal arts education.
I think "grotesque" is a little extreme here. Economic edge is certainly an advantage that comes out of constantly producing new technologies which aid humanity. I can understand your concern though as many technologies come with environmental impacts...etc. Another way to view this in a more positive light is that we're also in the midst of a green revolution (wind, solar, energy storage... etc). The more people we have tackling these hard technical problems (transportation, renewable energy generation, fusion, finding an end to cancer, optimizing food production) the better. Of course, this can't come at the expense of our humanity, but providing additional focus on pivotal subjects like mathematics is vital to the human race.
> it seems a little grotesque to be focusing on creating people trained in STEM solely for the purpose of keeping an "economic edge", as if they were troops that we need to keep us safe
But the reality of the situation is that economic "troops" are required to maintain our current standard of living. It seems to me even more grotesque to ignore the immediate needs of society because it feels wrong from some ivory tower philosophical perspective.
Is there any evidence that training people in critical thinking at school actually improves their critical thinking? Also, the same question about ethics.
Critical thinking, at least in my country, isn't taught widely at school. But my proposal wouldn't be to introduce a mandatory 'critical thinking' class, it would be to reform the education system to be built on critical thinking in every facet, whether it be in STEM, philosophy or otherwise. I too doubt the effectiveness of a class that explicitly teaches critical thinking, just as I doubt the effectiveness of ethics seminars at big companies.
I've tried googling paxos algorithm a bit, but don't understand what it does and why it is useful. Could someone please explain it to me like I'm five?
It's super simple. You have a network where sometimes messages don't get delivered. One agent (process, site ... ) sends a message m to a collection of other agents distributed around the network. How can the sender be sure that at least some number of the intended recipients got the message. This is what databases do with commit protocols. Essentially the same problem is generalized for so-called distributed consensus protocols - of which Paxos is a very complicated example. The simple solution is that the sender keeps sending either until a timeout happens or it gets ack messages from whatever number of recipients it needs to be sure got the message. That's it. If the recipients are executing a deterministic state machine and the messages are the inputs to that state machine, you can be sure all the ones that have received the same messages in the same order are in the same state.
It's goal in the end is very simple: you have N different state machines and you want every state machine to process the same operations in the same order. To do that you need they agree every time a new operation must be processed. (Multi) Paxos is an agreement algorithm that does that.
To add context, Paxos allows you to have the the same state across multiple servers without any manual master/replica failover, with allowances for a minority of the servers to go down due to upgrades or failures and with clients getting the same results no matter which of the servers they connect to. (In distributed systems this is called Consensus.)
It's used in distributed datastores like Zookeeper and Exhibitor, which are used in situations where you need both consistently and as close to zero downtime as possible. It also influenced Raft, a similar but simpler algorithm to accomplish the same goals. Raft is used by etcd, which is the database that powers Kubernetes.
Start with understanding "Consensus problem". Paxos is one of the famous solution. There is blog called "The Paper Trail" which has lots of articles on this topic[1]. You should start with the oldest post IMO (from Three General Proble,, FLP impossibility, 2/3 phase locking, to Paxos). Once you have an idea, you can readup the "Paxos made simple"[2].
In distributed systems, each node needs to agree on facts (which could be value of a key, ordering of operations on an object etc...), and Paxos helps you with that.
I once had to work a 5-hour production issue in a Hilton hotel room. The temperature, desk ergonomics, and lack of distractions (people or things) led to nearly superhuman levels of efficiency and clarity of thought. This solidified my view that open floor plans and cubes that are only a few feet high are absolutely horrendous for getting any work done. It perturbs me that offices are wasted on management that is typically in meeting rooms 90% of the day and thus can't take full advantage of them. I'm an extrovert too, so I can't fathom the annoyance of people who really don't like being in a crowd.
I remember reading that John Carmack used to stay at hotels just to get coding done. Apparently it's an anecdote in Masters Of Doom but I think I've heard it elsewhere too.
This HN comment mentions the anecdote, but also others who have done similar (eg coding on cruises):
That's interesting. I've seen you make these statements, but have never been able to confirm even though I've meant to. How many actual users do you have btw?
For what it's worth, for maybe half of my scripting purposes, Perl 6 was already performant enough back in 2010. The big things I remember it having speed issues on were things you wouldn't normally have considered Perl 5 a solution for, like using a grammar to parse a multi-megabyte CAD file or calculate a Mandelbrot set using elegant high-level code.
Today, while those two things are still slow enough in Perl 6 I wouldn't make Perl 6 my primary language for doing them, I can't even remember the last time I wrote a script in Perl 6 and it was too slow to be usable.
Mind, I think Perl 5 is still faster on things Perl 5 was super-optimized for -- regex processing, for instance. But on a normal week, I throw together a couple of quick Perl 6 scripts to get stuff done. It's usually a joy to program in and execution speed just hasn't been a problem for me.
>Perl 6 performance has now gotten to the point where it's often comparable to Perl 5 or surpasses it. It still needs some work in this area, but the work is clear, the goals are straightforward, and Perl 6 is going to easily oustrip Perl 5 in terms of performance.
I hope it's true. Perl was a great language that was ahead of it's time. Eg, most complaints about Perl boil down to needing an equivalent of PEP8 and a linter.
Lizormato and some other folks have put in hundreds of performance fixes...I think these things just take time. The language might have been in development and design since the 90's, but it only just got to 1.0 or a "stable release" in 2017 I think. I'm surprised Larry Wall hasn't written a Perl6 book yet. Plenty of other authors have, but I was really looking forward to something from him or Damien Conway.
I've installed just about every release since 2017. It's a nice language but still slow and lacking library support. The best thing about it is probably the rational math.
Yea... libraries are always good (especially for math and analysis), but I find that powerful languages need far fewer libraries to get things done. APL can do something with a few characters that might commonly be implemented as a lengthy function or library in some languages.
Windows Powershell can surprisingly do a lot of what Perl 6 can do and people mostly understand the limitations. You can automate processes, build your own DSL, have full OO support, full .NET interop, concurrency, you can pipe data around kind of like with FP...etc. It doesn't have some of the more perlish features though.
I did some tests for prime number crunching. For example the C-style loop statement is faster than Perl's own foreach. Perl6 was the slowest of them all while the fastest was LuaJIT. The whole code is two loops with a bunch of multiplications and additions, an array push, loading a hash and looking up values in it.
This seems like a very odd standard to use? I understand that you wanted to compare performances of different languages, that's great.
But if you actually wanted to get the job done idiomatically, the code is one short, simple line of Perl 6. The performance, while admittedly slower, is within the same order of magnitude as your Perl 5 version.
To me, this is the magic of Perl 6. Sure, if you want to use 16 lines of loopy integer-crunching code to calculate the first N primes and you care about speed, Perl 6 should not be your choice. On the other hand, if you'd prefer to say
(1..$N).grep(*.is-prime)
and get the answer back in reasonable speed, Perl 6 is perfect.
It's just stuff that I use daily in normal code, so this benchmark pretty much serves the pupose very well: it uses mundane operations, also uses memory, one can adjust it by raising the bar 10x times, so the actual algorithm takes several orders of magnitude longer than the JIT penalty. In fact most of the interpreted languages would pretty much crunch for minutes at 10⁴, while Go, Crystal, D and Rust would take seconds or tens of seconds. Perl6 is basically stuck there forever and at the other end of the spectrum are Node and Dart. LuaJIT would run out of memory at that figure, otherwise it's among the fastest.
Engineering is nothing like a trade school if you mean Electrical Engineering, Chemical Engineering, Mechanical Engineering... etc (probably not what you meant here by context, but I felt I should clarify).
You basically do 4 years of math and physics with several years of calculus, differential equations, numerical methods, programming, and solving difficult problems. It is nothing like a trade school (no offense to that line of work...they probably make more money than me :)).
Very wrong I'd say. I was able to read more at 3 weeks than I could with 3 years of Spanish. Spanish might be easier than Latin, but verb conjugations and irregularities in the grammar is no joke. Esperanto gives you a detour around all of that.
I suspect that is at least partly due to Esperanto content using a smaller vocabulary. Irregular Spanish grammar makes writing/speaking perfectly harder, but in my experience it's not a big barrier for reading.
I've been learning on Duolingo and Richardson's book. It really is simply so elegant. Easy to learn, easy to read, easy to understand, easy to speak. It just sounds cool to me as well. I think at 3 weeks in I had made more progress than 3 years of Spanish as you don't have to worry about irregularities and even the vocabulary is easy to remember.