> Programming is much closer to a craft than a science or engineering discipline. It's a combination of skill and experience expressed through tools
You seem be implying that the latter statement doesn't apply to the disciplines of science and engineering. "skill and experience expressed through tools" is highly important in both watchmaking and bridge building. I would advise anyone who says elsewise to reconsider.
I understand your point, but why create a hugely false dichotomy between a craft discipline and the science and engineering disciplines?
No developers develop the same way, and even though there are some obvious ways, there seldom exists an absolute all cases best way.
It is the thesis of the mythical month (F. Brooks) and I do like this theory since its corollary the "no silver bullets syndrome" is quite accurate.
The essence of programming is creativity, thus no tools can improve software productivity in its essence.
The problem with school, is studious dull boys with no imagination thinks they worth something in programming by incanting mantras of pseudo tech gibbish. They have a 90K$ loan, no gift, and they pollute the eco system because else, they become hobos. At least, most of them are hired as java, C++ or PHP developpers where they fit best.
> The essence of programming is creativity, thus no tools can improve software productivity in its essence.
Completely not true. Creativity is a fragile thing and anything that stands between you and expressing your thougths may break the creative process altogether. Good tools can also enhance the process[1], for example by allowing to see you the thing you're working on in realtime (see e.g. Bret Victor's "Inventing on Principle").
Also, software productivity is a function of both creativity AND being able to turn the idea into reality efficiently. Good tools do a great job on the second part.
[1] I do have the feeling though that most of the creativity still happens on paper and/or whiteboard, not inside computer programs.
de·stroy (d-stroi)
v. de·stroyed, de·stroy·ing, de·stroys
v.tr.
1. To ruin completely; spoil: The ancient manuscripts were destroyed by fire.
2. To tear down or break up; demolish. See Synonyms at ruin.
3. To do away with; put an end to: "In crowded populations, poverty destroys the possibility of cleanliness" (George Bernard Shaw).
4. To kill: destroy a rabid dog.
5. To subdue or defeat completely; crush: The rebel forces were destroyed in battle.
The pinnacle of military excellence is not to win one hundred victories in one hundred battles. It is to subjugate your enemy without fighting. -- Sun Tzu
If you insist on doing so, consider a more polite alternative. E.g. "it's seems you've missed the point", "perhaps you've misunderstood", "I feel that so-and-so was saying something else".
> On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity.
Deception. More verbosely, you allowed the user to assume something, yet contradicted this assumption. Somewhat similar when a woman strings a man along, then requests payment.
I would consider it deception if I was being told it was free the entire time until the sign up step told me it cost money. Allowing me to try this before registering is more likely to get me to sign up.
I like clack/prompts. See its multiselect API.
https://github.com/bombshell-dev/clack/tree/main/packages/pr...