Live data from Hacker News

Writes large correct programs (2008)

johndcook.com

91–100 of 114 posts

Re: Writes large correct programs (2008)

#91
post #27

Earlier quoted context omitted.

Is your working definition of a computer scientist similar to a civil or electrical engineer? To me, a computer scientist is someone who studies computation. They probably have the skills to figure out the run times of algorithms, and probably develop algorithms for solving arbitrary problems. A software engineer is what I would call someone who can estimate and deliver a large software application fit for purpose.

Theoretically, I think that the ideal situation would be for a Computer Scientist to be someone who performs fundamental research in computation while a Software Engineer (I think that something like Computer Engineer would be a better term) applies computation research. Analogous to the relationship between a Physicist and an Electrical Engineer. However, as the terms are currently used, I see Computer Scientist as…

What would be the computing equivalent of an Engineering Physicist?

Re: Writes large correct programs (2008)

#93

Earlier quoted context omitted.

> But, there are definitely some folks who we’d be better off paying to not do anything. An even better idea: simply don't hire such people.

They are motivated to be hired (the alternative is no money, possibly no home or good). They aren’t dumber than the folks who really want to do engineering and make neat stuff, just differently motivated. And if those two groups get in an office politics battle, the group that isn’t distracted as much by engineering wins, right?

> They are motivated to be hired

I am also very motivated to convince you to give me, say, 10,000 EUR or USD, will you hand me over the money? ;-)

Seriously: if you see no value in giving me this money, you clearly won't do that. Also: if the person you could hire does not bring more value for the company than he/she costs you, you won't hore the person, no matter if he/she is motivated or not.

Re: Writes large correct programs (2008)

#94
When I was in the college, I'd made some consultancies to final students from CS degree which don't know how to program and even bad, the project was a simple copy and paste some classes, change attributes and manually test it. So, the main problem I'd seen was they don't have the ability to figures out the system and it's a basic expectation!

Re: Writes large correct programs (2008)

#95
post #18

Earlier quoted context omitted.

One of my computer science professors when his laptop wasn't connecting to the projector: "I hate computers."

Why do you think people become CS professors? One of the reasons is that they don't like working in the industry and maybe don't even know how to program.

Don't most just straight track through undergrad/masters;phd/postdoc without ever entering industry?

Re: Writes large correct programs (2008)

#96

Earlier quoted context omitted.

They are motivated to be hired (the alternative is no money, possibly no home or good). They aren’t dumber than the folks who really want to do engineering and make neat stuff, just differently motivated. And if those two groups get in an office politics battle, the group that isn’t distracted as much by engineering wins, right?

> They are motivated to be hired I am also very motivated to convince you to give me, say, 10,000 EUR or USD, will you hand me over the money? ;-) Seriously: if you see no value in giving me this money, you clearly won't do that. Also: if the person you could hire does not bring more value for the company than he/she costs you, you won't hore the person, no matter if he/she is motivated or not.

Have you ever watched a scam in action? It's in my best interests to convince you (a boss) that I'll bring lots of value, and then not bring it, and continue convincing you that I am bringing it.

Re: Writes large correct programs (2008)

#97
post #96

Earlier quoted context omitted.

> They are motivated to be hired I am also very motivated to convince you to give me, say, 10,000 EUR or USD, will you hand me over the money? ;-) Seriously: if you see no value in giving me this money, you clearly won't do that. Also: if the person you could hire does not bring more value for the company than he/she costs you, you won't hore the person, no matter if he/she is motivated or not.

Have you ever watched a scam in action? It's in my best interests to convince you (a boss) that I'll bring lots of value, and then not bring it, and continue convincing you that I am bringing it.

If the boss or HR falls for such a scam, I clearly opine that they are not suitable for their job.

Re: Writes large correct programs (2008)

#98
post #90

Earlier quoted context omitted.

Our final CS course, Operating Systems, was in C, after all the previous courses were in Pascal. Luckily, I had already gotten access to various Unix systems and had taught myself C (thanks, K&R !!). And I say luckily because it was expecially lucky for my SWE group members who would otherwise have not graduated. I was already 10x at that point because of early access and passion for the craft. Most if not all of the…

With that kind of build latency, you're weeding out people who don't want to spend their whole day on coffee break.

Yeah, I guess. I rather enjoyed those days but was always craving more power to just get on with it.

And those build times were nothing compared to waiting for a long SQL process.

It's all really just determining whether the data flowed properly or not. From a C64 BASIC program to an OS component to a database's tables, it's all just data flowing from one place/form to another.

Re: Writes large correct programs (2008)

#99
post #37
post #23

Earlier quoted context omitted.

I mean, I’d say a markdown / latex / typst document in a Git repository would fit the bill. I’m working on a history project at the moment which has reconstructed the version history of the US constitution based on the secretarial records and various commentaries written during the drafting process. At the moment we’re working on some US state constitutions, the Indian constitution, Irish peace process and the Austra…

Fascinating, what tools are you using to keep track of all that? (Also, are there any interesting practices involved here?)

All custom tooling. I should write it up at some point - there's an awful lot to say about the whole thing, both technically and historically. And the data shows that there are several things apparently taught in American schools (like the idea that the final text is a compromise between the Virginia plan and New Jersey plan) that are simply wrong.

Re: Writes large correct programs (2008)

#100

Earlier quoted context omitted.

I've worked for a bit in an engineering company and I was surprised at how bad they were at versioning their documents.

Do you have any examples of correctly versioned documents?

Some big issues were:

- they were manually tracking the "versions" of documents by copy-pasting them in some folders - and even this was only done for each "release" of each document; inbetween two releases all the changes were made to files shared on Onedrive (possibly concurrently by two people, sometimes leading to conflicts with the loss of days of work) - at every release the changes since the last release had to be looked up manually every time and included in a document; this was very time consuming. - informations were duplicated in multiple documents, with no way to relate them; every change to one of them had to be manually replicated to the others.

I would argue that a correctly versioned document should not have these issue. A dedicated software should track all the changes, including individual ones inbetween releases. It should also provide a way to list them, possibly relative to some milestore (like the last release). Data should be kept in a format that's easy to automatically compare for changes, and hopefully in a deduplicated way so that changes need to be made only in one place. If that's not possible I would argue there should be a software that checks for inconsistent informations and prompts for them to be synchronized.

In the software development world this has mostly been solved by version control systems like git and continuous integration to ensure that the codebase is in a consistent state after every change.

Post reply on HN