Earlier quoted context omitted.
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.)
Why don't you use WSL? I can barely understand why you'd want to develop on Windows (ok, for non-Windows-only products) with it, but without it...
Ask HN: What overlooked class of tools should a self-taught programmer look into
191–200 of 416 posts
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#192Earlier quoted context omitted.
Having used fabric in the past, I've always found it just as easy to use a shell script and make files. There's always some level of bootstrapping a project (installing packages/software, compiling libraries and dependencies) where it's easier to just to write a shell script than to program python to do. E.g. How do you get fabric installed on a system? There's also been this longevity of sorts that Make seems to hav…
I've been moving away from using shell scripts in a tools/ directory to using Python Invoke ( http://www.pyinvoke.org ), which is the library underlying fabric. I used bash scripts for years, but for a lot of reasons made the switch: - It was always painful to create small libraries of functions used across multiple scripts in a project - It's difficult to consistently configure them with per-user settings. I've writ…
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#193For Google, check out the study guides for their certifications, specifically Cloud Architect (basic overview), Cloud Developer, and Data Engineer.
https://cloud.google.com/certification/
Be sure to follow along with the recommended Coursera and Qwiklabs tutorials and do the exercises. You'll learn about all kinds of neat stuff, like scalable application design, container technology, monitoring+metrics, various types of database technologies, data pipelines (including Pub Sub messaging), SRE best practices, networking+security, and machine learning.
I currently work on AWS, and don't find it a good starting point for diving in to these things quickly, but most companies use it so it wouldn't hurt to learn I guess. I still recommend GCP over AWS to start with, as their technology is far more interesting and focused, and quicker/easier to work with.
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#194Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#195Earlier quoted context omitted.
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?
I think the parent's using Excel essentially to do repeated template expansion: e.g. for a given set of member variable names ([a, b, c...]), give me the assignment statements I'd need to use those in a constructor. Which I could do pretty trivially in Excel... but could also do trivially in about two lines of Python: vars = ["a", "b", "c"] statements = ["this.{0} = x.{0}".format(var) for var in vars] print(statement…
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#196Earlier quoted context omitted.
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.)
Why don't you use WSL? I can barely understand why you'd want to develop on Windows (ok, for non-Windows-only products) with it, but without it...
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#197Earlier quoted context omitted.
In 2019 Makefiles are a useful tool for automating project-level things. Too often webapps will require you to install X to install Y to run producing artifact Z. Since Make is old and baked and everywhere, specifying "make Z" is a useful project-level development process. It's not tied to a language (e.g. Tox) nor a huge runtime (Docker). Make is small enough in scope to be easy, and large enough to be capable witho…
Will not be a problem for much longer :) https://www.theverge.com/2019/5/6/18534687/microsoft-windows...
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#198Unit testing, mocking, and various other testing techniques. Why? Any project of sufficient complexity is very hard to test. If all you're doing is code -> build -> run to debug your code, you can very easily break something that's not in your immediate attention. The problem is that good unit testing is hard, and time consuming. It can be so time consuming, that unless you can really plan in advance how you test, yo…
Are there any resources out there you would recommend for learning testing techniques in a Python context?
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#199Online schema change tools if you use RDBMS in production.
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#200Makefiles. 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…
That said, I wholeheartedly agree with the comment.
It's sad that something so central to a project and so useful and important to so many people seems like it hasn't advanced ... ever.
Developers generally do the minimum with Makefiles and get out. They are similar to 1040 forms in popularity.
I've always had a dream of a redesigned "make" system... with import statements, object oriented rules, clear targets, rules and files clearly seperated, structure and organization... sigh.