Live data from Hacker News

Ask HN: What overlooked class of tools should a self-taught programmer look into

news.ycombinator.com

101–110 of 416 posts

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#101

Earlier quoted context omitted.

Isn't non-native development on Windows a solved problem nowadays with WSL(2)?

WSL is currently horrendously (unusably, IMO) slow. WSL2 promises a 20x speed up, but it was already 100x slower than native Linux at some actually-realistic workloads that happen all the time when you're developing (e.g. `git grep`), so it's probably still too slow to be tolerable. I had the opposite problem of wanting to develop some stuff for Windows from a Linux environment, and I settled on running a linux VM an…

A nice thing with WSL is that you get working make and rsync. But I would like make for coding on native windows. Many FOSS projects use Makefile as the parent post described.

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#102
Excel. Seriously. For more things than you imagine

Let's say you want to make a property assignment for some class;

this.a=x.a this.b=x.b ...

While you probably would want to do this some other way to start with, and while you of course can solve it using some emacs wizardry, I can whip that up in Excel using some formulas in a matter of a minute. Moreover, I can keep adding to it when I realize something was missing.

I can make a diff, join or union of the results of two queries from different databases (or even database engines). Not to mention calculation and design mockups.

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#103

Makefiles. I always dismissed them as a C compiler thing. Something that could never be useful for Python programming. But nowadays every project I create has a Makefile to bind together all task involved on that project. From bootstrapping the dev environment, running checks/test, starting a devserver, building releases and container images. Makefiles are just such a nice place to put scripts for these common tasks…

Any good resources for learning about make files that you can recommend?

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#104
post #6

Learning in-depth your various options for persisting data, is very useful since most applications have to deal with persistence in some form, and increasingly in a distributed manner. Go beyond simply skimming the surface of SQL vs. NoSQL and the marketing claims different databases make about their scalability and consistency. Learn what ACID and CAP stand for and the tradeoffs involved in different persistence str…

Two great resources I've been going through are - https://dataintensive.net - Really deep dives into different types of data storage solutions, their history, and how they actually work. - http://www.cattell.net/datastores/Datastores.pdf - Good paper that helps differentiate similar but different datastores. Really helpful when you're trying to pick a modern data solution.

Another good resource that guides one through both the philosophy (why) and technical details (how) of building a web application is Software Engineering for Internet Applications:

https://philip.greenspun.com/seia/

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#105
post #91
post #17

Earlier quoted context omitted.

I'm now torn between reading this one first or the Architecture of Enterprise Applications.

Edit: I meant Patterns of Enterprise Application Architecture by Fowler in my comment above. Recommended by DHH.

My advice would be to skip it completely. It's just packed full of standard GoF OO dogma.

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#106
The best tools you can teach yourself are arguably more fundamental than any specific language or library, but instead computer science problem solving techniques. I've written books on this subject specifically targeted towards self-taught programmers: https://classicproblems.com/

Sorry for the self-plug, but it's super relevant I think.

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#107

Earlier quoted context omitted.

> The big downside of Make, alas, is Windows compatibility. You'd have to give me a _very_ compelling reason to support developers who use Windows, when Windows lacks these essential tools. Besides, don't people who develop on Windows live in WSL?

Nope. I develop in Python, Java, and Kotlin on Windows and never touch WSL. Make is available natively through Chocolatey (a Windows package installer), but I prefer Gradle. (I also write code to run on Linux, but still prefer Gradle.)

Slightly off topic but what would you suggest for someone who is familiar with build systems but who hasn’t used gradle?

I’m just getting into Kotlin and gradle isn’t something I’ve used before since I’m mostly web, .net til now.

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#108

Excel. Seriously. For more things than you imagine Let's say you want to make a property assignment for some class; this.a=x.a this.b=x.b ... While you probably would want to do this some other way to start with, and while you of course can solve it using some emacs wizardry, I can whip that up in Excel using some formulas in a matter of a minute. Moreover, I can keep adding to it when I realize something was missing…

I'm not following. What good is it to have equivalent of "this.a=x.a this.b=x.b ..." in Excel, when what I need is to have this in code in my editor? Are you saying you use Excel to create the code, then copy/paste it into your editor? Or what?

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#109

Makefiles. I always dismissed them as a C compiler thing. Something that could never be useful for Python programming. But nowadays every project I create has a Makefile to bind together all task involved on that project. From bootstrapping the dev environment, running checks/test, starting a devserver, building releases and container images. Makefiles are just such a nice place to put scripts for these common tasks…

Any good resources for learning about make files that you can recommend?

Matt Might's article is really good:

http://matt.might.net/articles/intro-to-make/

Re: Ask HN: What overlooked class of tools should a self-taught programmer look into

#110
* Regular expressions. The most valuable "not a language" that I know. * SQL. For me, it was a trip coming from a procedural language background. I kept trying to figure out how to do loops. * Command line - DOS and unix * Batch languages for those. * HTML / CSS / Java (please don't kill me) Script and the DOM
Post reply on HN