HNHacker News
TopNewBestAskShowJobs

CLPadvocate

26 karma · joined May 7, 2020

submissionscomments
CLPadvocate··on The purpose of a CS degree in the 2020s?
One of the largest problems in the industry is that they are looking (job ads) for CS, hiring programmers, but actually often need software engineers. And the second problem is that they often don't understand the first sentence.

CS was never meant to be a programming degree. There are universities that don't have programming in their CS curriculum at all (well, except for pseudo-code or the like). It's a scientific degree. It's an education that teaches you how to solve problems in the Computing in a reliable, mathematical, scientific way. They solve abstract problems.

Software engineers, on the other hand, solve concrete problems, but also without much code. They design a solution with respect to the requirements, technical constraints, price, available resources etc. They shape the development process.

Programmers write code. Ideally they do know the infrastructure they're working with (compilers, libraries, frameworks, hardware, ...) and write the most optimal code in the frame, defined by an engineer, and using solutions developed by a scientist.

At least this is how it should be. And there are some companies that really working like this - usually the ones that have to have really good software working for decades. Other (nowadays the majority) hire physicists or the like for everything. I had the chance to work for some of these companies too - one of them hired basically everyone with some mathematical background to do coding - and they coded. They created one of the largest code bases on the planet (larger than e.g. Microsoft's at that time). They never learned how to get requirements from the customers, so their software was an absolute desaster in terms of usability. It is also extremely slow - jokes about its start-up times were pretty widespread a couple of years ago. And it was absolutely unmaintainable, to a degree that the company was on the verge of bankruptcy because they were basically not able to react to customer requests. They survived. But they are not hiring physicists to do software development anymore.

CLPadvocate··on Why is Ireland's ccTLD .ie?
I think UK is a different issue - GB (England + Wales + Scotland) is not the same as UK (GB + Nothern Ireland).
CLPadvocate··on Ask HN: Why are news sites putting auto playing videos everywhere?
#users * duration = $$$ you're staying longer waiting for the video and watching it and that corresponds directly to the money they make. additionally, they can also autoplay ads.

the problem is that the browser makers (google, microsoft, apple) use autoplay on their sites, so that they are not really interested in blocking it. you can try some extensions that block autoplay, some adblockers offer that feature too. firefox is also an option.

CLPadvocate··on Ask HN: You get a msg written by you in 2030. What does it say?
If you're reading this, I'm dead ... I mean you're dead. Everyone's dead. That bitch that dumped us in the high school is dead (haha). Bambi is dead. John Connor is dead. Even Chuck Norris is dead. The "endangered species list" is a fking one-liner with a shitpile emoji.

You may ask what happened - well, as they tried to remove the orange butthead from the White House after the second term, he headbutted the big red button to prevent being replaced by a woman.

Most of us died fast. Others could enjoy a few president-colored sunsets, while screaming in pain, and slowly disintegrating.

The only survivers were the astronauts of the ISS, Adam, Eve, and Joe. But instead of re-enacting the Bible in the coziness of zero gravity, they caught Musk's Tesla and tried to use its Autopilot to land on Mars. They'll burn in the Sun soon. But until then they'll be freezing to death in a frigging roadster.

Have fun.

CLPadvocate··on Ask HN: Why Learn Functional Programming
it's a great book and the video series is also very good. definitely a good start for FP and also for software engineering in general.

coming from a C/Java background, my earlier Python code looks absolutely like a typical imperative/OOP mixture and now every time I look at it I see parts that can be rewritten in a much cleaner, simpler, FP-like style. it's really one of the paradigms that changes the mind in some way.

CLPadvocate··on Ask HN: Why Learn Functional Programming
actually, this IS the point of learning FP. it's a different way of thinking about programming and it offers you a new way (often a more elegant) of doing things.

it's usually worth the effort. writing code in a functional way (even without a functional programming language) simplifies testing, often improves program stability and robustness. the more side-effect-free or pure blocks you have in your code, the easier you can build a composable or a concurrent program. basically, most of the principles of good software development (SOLID, DRY, KISS, ...) are native to FP.

CLPadvocate··on MasterCard considers changing its name
I'm considering to change my Master of Science degree to Mainly Scientist. Not sure if it'll work out ...
CLPadvocate··on What Is Wrong with Communism?
but also to be honest, most of the "businessmen" were scum - we're talking about 19th/beginning of the 20ieth century, where a worker was worth basically nothing. 16 or even up to 20 working hours per day were usual, even for children of ages of 10-12. and that for a salary that was barely sufficient to rent a corner (literally!) in a room and a bit to eat (and you don't want to know what was in this food).

there were exceptions, but even the better working conditions were so far below today's standards that calling e.g. the factory owner "scum" would actually be way too mild.

CLPadvocate··on What Is Wrong with Communism?
that's pretty much also what I said :)
CLPadvocate··on What Is Wrong with Communism?
The problem (with Communism and with answering your question) is that Communism was never implemented yet, thus making it hard to say to what degree it can be implemented at all. The most "communist" thing that the world had were different collective communities, for example the original Kibbutzim in Israel, which can at least be considered "socialist" to a large degree. On the other hand none of them were state entities, which means they were heavily influenced by a surrounding state form.

From a formal point of view, Communism can be considered one of the purest forms of democracy, which makes it susceptible to the largest problem every democracy has - the people. Any democratic society relies extremely on the people's good will, (social) responsibility, and education. That makes it also the most fragile state form possible - as soon as even one of the criteria fails, the society inevitably changes. It can be a more or less slow evolution into an aristocracy or a monarchy, or a rather revolutionary change into an ochlocracy, oligarchy or a tyranny.

CLPadvocate··on Ask HN: What distinguishes a computer programmer from a software engineer?
There are multiple possible answers to that question. My answer would be - these two have basically nothing in common.

I am working in the area where software quality is important, so we do have a very clear distinction between the roles (and also between maturity levels). We have (among others) people who do a formal description of the customer's problem (requirements engineers), others who convert it to a product specification (architects), third who manage the implementation (project managers) and the implementers (programmers).

Every level has its own requirements and skill sets. For example, only the programmers are working with code, so their job is to be experts in the language, frameworks, hardware interfaces and the like (we also have hardware engineers to design the hardware). Architects are working with models - their job is to derive the proper constraints and project structure from the requirements, to ensure its correctness and to provide a way to prove it. Managers and requirements engineers are working with people. Of course, there are architects or managers who have been programmer before, but in general it's not really necessary and sometimes even benefitial to not have a programming background.

If you heard about "separation of concerns" or "single responsibility principle" in software, well we're using it also in our development process.

But I'm quite sure it's not "modern".

CLPadvocate··on Ask HN: Favorite programming language with lesser need of documentation
C, LISP, Python
← PreviousPage 3 of 3