Live data from Hacker News

Advice to a novice programmer

blog.plover.com

41–50 of 158 posts

Re: Advice to a novice programmer

#41

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

i tried Goland (the Jetbrains IDE for Go) and when my mouse hovers over a variable the IDE does not provide a tool tip that tells me what its type is.

And for that reason I've stuck with VS Code.

Re: Advice to a novice programmer

#42

Regarding variable names strongly consider keeping the first variable name which comes to your head. It is simple, straightforward. I often see overly elaborate variable names where I know the author took their time to come up with it ending up with an abstract variable name which makes far less sense. Another tip for novice programmers: don't do leet code or watch random videos which talk about loops and variable na…

A lot depends on the scope of the variable but if one is using a language with strong typing I'm leaning towards decide asap, got for a short one and refactor after. Human short term memory is limited and getting the logic right while also getting the naming right is often pushing it too far.

Re: Advice to a novice programmer

#43

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

I used Emacs for about two decades. It worked well and did exactly what I wanted it to.

Then I started using Copilot+VSCode while learning a for me new language (Python) this spring. I've grown rather fond of VSCode since, to be honest.

This extension by Yuichiro Tachibana is the one to use to get Emacs keybindings, btw:

https://marketplace.visualstudio.com/items?itemName=tuttieee...

Re: Advice to a novice programmer

#44

I really have to disagree with the disparagement of vim/scp at the beginning. It's a bit slower to start if you begin with command-line tools, but the dividends payed out by learning the standard command-line utilities are huge. Learning the command-line utilities means you have the tool-set to build your own tool-set; since it's a lot easier to using CLI tools as building blocks for larger tools. At both of the last…

I don't think he was shitting on command line tools; he was shitting on the remote machine his child was having to use, which was slow and unreliable. > Also big disagree on the final statement of the article. CS is not a vocational major, nor should it be. There are plenty of good post-secondary schools that focus on writing code and the tools you use to do so; CS curricula should not be focused on producing program…

This. Software engineering needs to be a separate field from CS, as mechanical engineering is a separate field from physics.

But maybe it's good that you were taught how to become a software engineer. My guess is that 90-95% of CS grads will actually work as software engineers.

But, a question if I may: How good of a software engineering training was the CS degree? Would a real software engineering degree have done a better job?

Re: Advice to a novice programmer

#45

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

As a 2+ year user of Vs Code for daily dev work - yes, this is accurate. Code is a lot like Linux: lightweight, fast, and a royal pain to set up.

But once it is set up with a cocktail of plugins it is rock solid. It is also much faster than any other IDE I have used.

However I am a weird user - I don’t usually use buttons on the ide. I just pop open a terminal for things like git commands, build commands, test commands, etc.

Re: Advice to a novice programmer

#46
What I like about this format is that it's observing and addressing real problems someone actually had.

It's not a philosophical debate nor is it advice based on what someone did 20 years prior when they were a novice.

It's a programmer observing an actual novice and observing their actual problems.

Re: Advice to a novice programmer

#47

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

This is fair for certain languages like JS or Java (IntelliJ is amazing), but not as much for less popular languages. I started learning Rust a few years ago, where the Rust plugin for Jetbrains IDEs was still in its infancy. Switching to VSCode specifically for rust-analyzer was a great decision for me, due to the amount of tooling included.

VSCode is popular because it is easy to learn for a beginner and shares much of the language server tooling with Vim and other popular editors. If you write a language server, it can work across multiple editors like VSCode and Neovim. (Though not Jetbrains IDEs, as far as I'm aware.) Writing a plugin for Jetbrains will only work for Jetbrains, so there's less incentive.

While Jetbrains have more powerful IDEs for specific languages, its less popular when VSCode, Vim, Helix, etc. all work together.

Re: Advice to a novice programmer

#48

I really have to disagree with the disparagement of vim/scp at the beginning. It's a bit slower to start if you begin with command-line tools, but the dividends payed out by learning the standard command-line utilities are huge. Learning the command-line utilities means you have the tool-set to build your own tool-set; since it's a lot easier to using CLI tools as building blocks for larger tools. At both of the last…

I found VSCode's remote plugins to be a really good option when the code lives on a shared remote machine over a slow connection. vim+scp is an extra step on each change, vim over ssh is just awkward, and sshfs isn't the most reliable piece of software.

Re: Advice to a novice programmer

#49

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

Jetbrains tooling is amazing. But can you attach to a running Docker container and develop inside it using Jetbrains?

Because last I checked I couldn't and was a blocker for my team.

With VSCode I can attach to both local and remote environments using Remote Development plugin by Microsoft (https://marketplace.visualstudio.com/items?itemName=ms-vscod...).

Yes most things are plugins. But they are high quality and maintained by the likes of Google, Microsoft, Docker, Shopify, Vue team, etc.

I like Docker development containers because they contain all the tools and configuration, down to the precise dependency and tooling versions.

Not only is the onboarding easier but we get less surprises by small differences in environments.

Re: Advice to a novice programmer

#50

Speaking of using sharp tools…. I really don’t get the love for VSCode. I’ve used Jetbrains for years and last week gave VSCode a really solid try. Man what a mess. Everything is a plug-in, plug-ins are inconsistent, getting basic things to work requires a tsunami of plugins. Everything feels half baked and duplicated and needing updates or abandoned ugh. Nothing feels professional because everything is a plug-in bui…

As a 2+ year user of Vs Code for daily dev work - yes, this is accurate. Code is a lot like Linux: lightweight, fast, and a royal pain to set up. But once it is set up with a cocktail of plugins it is rock solid. It is also much faster than any other IDE I have used. However I am a weird user - I don’t usually use buttons on the ide. I just pop open a terminal for things like git commands, build commands, test comman…

It still astounds me that people actually use "lightweight" and "fast" to describe vscode these days. How times change.
Post reply on HN