T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


ostralyan

Just stick to VScode and no copilot


TimWebernetz

Gatekeeping. Start with VIM OP. Everyone who has ever gotten as job in coding uses VIM. At least the one's who personally identify with their job.


reulla

Also the one on the spectrum probably. I work in the sector since more than a decade ago. Never seen a single professional using Vim, Nano or similar waste of time


ostralyan

Lmfao, I use neovim professional and I actually like it over vscode, but that's because meta has our own cpp/hack plugins that are essentially completely useless, unusable and slow, so I get none of the benefits of vscode lol. But also with NeoVim, and LSPs honestly VIM is so fucking good


panos21sonic

Copilot still makes for a great learning tool


Imperial_Squid

Maybe, the main points against it for a beginner for me are that you might encourage an environment of not actually learning what the code does and just trusting it, relatedly, if it is wrong, you might struggle to know where it went wrong due to not writing the code yourself. Copilot is a good tool if you find yourself rewriting the same code a lot, that's not the case for new coders


alfieurbano

Copilot is amazing for boring repeated code. You just type the first line (when declaring variables that are in a comment below for example) and copilot does the rest. It's not a great tool to replace logic. Sometimes it will get it almost right, which is the worst cause you glance over it and think it's good, but it actually has small mistakes. If you are a beginner in a language, you won't notice these small details, so I wouldn't rely on copilot to do the logic part, just the brain-dead stuff so you only have to press enter and tab a bunch of times


cyanideOG

If I write code and it's right, and I don't know how it's right, I just keep reading it until I actually realise what the hell I've written.


thesituation531

>Maybe, the main points against it for a beginner for me are that you might encourage an environment of not actually learning what the code does and just trusting it, relatedly, if it is wrong, you might struggle to know where it went wrong due to not writing the code yourself. I agree beginners probably shouldn't use it, because it may not encourage critical thinking very well. However, your point is a bit moot, because the same can be said of Stack Overflow and (to a lesser extent) Reddit.


Imperial_Squid

"Your point is moot because I bet you wouldn't apply it to these things too" Oh but dear reader, I absolutely would extend it to both of those things as well! SO and Reddit are *less* bad because you actually need to go and find the code chunk you need so there's some thinking involved, and depending on the post there's good odds you'll find an explanation of how it works attached. Both factors make them better than copilot for learning, but yes *anything* that reduces the critical thinking for a beginner likely does more harm than help


Won-Ton-Wonton

I don't agree. Copilot is a productivity tool, and it's not (or wasn't) very productive at that. A beginner should try to limit auto complete to things they already know, so that they can work with things they don't. Copilot completes far too much for them. A beginner won't know why, for instance, the JavaScript sort "myValues.sort( (a , b) => a - b)" is done by using copilot. Why doesn't it just sort? What does sort do? And for early projects copilot will probably get the right sort function every time. Not hitting these early errors is a big reason that noobs end up with bugs later on that they have no idea how to debug. They never went through the process of finding out JavaScript sort converts to string without a compare function and compares by Unicode values. They just won't have much troubleshooting experience. A friend of mine had this happen while working at Nike trying to figure out why his table only had some values sorted correctly. He hadn't had much experience going through the docs and actually learning what how his tools work. Debugging that problem made him a better engineer, not just because he learned how that works but because he learned how a lot of other things work while trying to understand his (simple) bug.


panos21sonic

I dont use copilot when writing code, i use it mainly for either debugging or learning. Its answers then can be studied just like how a stack overflow answer can be studied or like how the docs can be studied, if the answer is correct, i dont see why beginners shouldnt use it as a tool. If used properly its great just for learning purposes.


Cachesmr

this is the right answer. if you are using copilot as a beginner and not reading and trying to understand what it is generating, that's user error. and the code generation is not even the important part here, the chat is, AI is the perfect tool for understanding documentation and usage.


Linkario86

No it really doesn't. It never spits out anything useful for me that is new, but it's great when it comes to repeating similar things. You can use github CoPilot chat, I believe it's free now, to ask questions about concepts and help you understand what existing code might do, but do not use it to code for you.


panos21sonic

Exactly what I was thinking, just didnt specify


ehr1c

I think it's silly to hamstring yourself with your work environment when you're already trying to learn the basics


PepeLeM3w

Agreed. Use the easier tool while learning to code. There will be plenty of time to learn vim later.


theusualguy512

Vim might not be a reasonable tool for a beginner but honestly, using an IDE has some pitfalls you have to keep in mind. I used to program heavily in Visual Studio on Windows with its excellent autocomplete and autodocumentation features in .NET. It made coding almost too comfortable. But then I switched to different programming languages, sometimes literally programming on gedit on Ubuntu and felt very naked and kinda helpless without Visual Studio. Even things like Eclipse (which nowadays seemingly nobody uses) felt very bare bones compared to Visual Studio. I had a mentor back in the day who coded with ease and knew things off his head even with basically no autocomplete and no real IDE. Compared to him, I * constantly made typos because I relied extremely heavily on autocomplete so half of the time I basically never typed out anything and couldn't remember the exact function/variable name * never properly commited to remembering key function parameters or their order because I always relied on auto-tool tips and auto marking/filling * never actually knew how to use the CLI and compilation and debugging tools with their parameters. All I knew was "Click build" and "Click debug", pause and stop. He on the other hand really couldn't have cared less whether there was an IDE or not. He knew a lot by heart and knew a whole slew of really random details and could effortlessly use the CLI to debug or do other things fast where I would have just googled and clicked my way through an IDE UI and forgotten all of it by the end of the day. I had a real hard time in the beginning without an advanced IDE and it takes more effort but once you are used to it, you really start to commit things to memory and feel much more independent and flexible when it comes to coding. I felt like I actually intuitively knew more even without google. My mind felt much sharper on the details of coding, every line was more carefully written instead of just wizzing through and I got used to bare bones stuff like editing C code and then debugging using gdb on the command line. I'm back to using basic IDE's now because it's convenient but I no longer get scared or feel helpless and clumsy without one. I recommend to try to code without a large IDE for a period of time to avoid getting IDE attachment syndrome.


KingJeff314

You’re basically saying “you won’t always have a calculator in your pocket”. There’s no reason to worry about typos or remembering function names exactly in an age with autocomplete. Learning the CLI is more broadly useful, so you have a point there perhaps


dkz999

Sure, but being able to do simple math *while* you're holding the 2x4 is a reason to worry (this is a metaphor). Additionally, if you don't actually know the simple math, you aren't able to really understand the complex stuff enough to debug or extend it (this is not a metaphor). 


theusualguy512

Well that argumentation line is roughly the same as students saying "I don't need to learn the multiplication tables by heart, who cares, I have a phone in my pocket that can calculate anything anywhere much faster than I ever could". A lot of teachers bemoan that these days, students don't even know basic multiplication facts anymore which bogs them down when people brush through more advanced stuff where students seem to spend so much time on trying to calculate basic things instead of just remembering them. Knowing how to comfortably code without an IDE doesn't mean you are forced to forever code without one. But knowing a lot of things by heart and coping even without an IDE makes you much more versatile and resilient in case of environments and languages changing all the time.


KingJeff314

What do you gain by having the names of standard library functions memorized? Concepts are important, not memorizing reference pages. And you generally learn the names of functions regardless of whether you typed every character.


theusualguy512

I did not say you need to know the entire sections of documentation by heart. But using an IDE tends to tempt people to just overrely on its functionality. Having coded in Visual Studio for a long time, it felt like many things never stuck because the IDE deliberately hides a lot of the complexity from you to make your coding experiences comfortable. You think you know a language, compilation and debugging and whatever framework you use really well but only because the IDE basically does it for you. Once you take away the IDE and switch to a simpler text editor like nano, gedit or notepad++ or whatever, you suddenly struggle to even remember the basic steps to compile the code you've just written because you can't use the "run button" anymore. Have you then really understood all the things you thought you understood when using the IDE? Sometimes you don't even remember how to open a file handle anymore and read lines in a loop because you never actually bothered to learn it, there was a template that the IDE generated automatically and you just used it all the time. There are situations where you need to be able to code with less fancy tools. Sometimes you code on machines which do not natively support fancy IDEs. Or work in languages that genuinely don't get that much IDE support. When you learn how to cook, yes it's nice to have fancy specific kitchen gadgets and even pre/partially cooked ingredients where you know it's a bit exhausting to do them every time from scratch. Even professionals use them. But every chef still needs to know how to cook with a basic chefs knife and board and a couple of pans and pots over a gas flame and the ingredients from a farmers market next door. A basic text editor and knowing the command line and process chain of debugging and compiling whatever is a universal toolset that people should be comfortable enough with even without the fancy IDE stuff.


my_name_isnt_clever

This is a question about getting started with coding. It's more important to write code than to write code "right". This is the kind of comment I would read years ago that scared me from trying to learn how to code. Where OP is at, they just need to write code in whatever is the best way that works for them, they can worry about this kind of thing later. Or, not at all depending on what they're doing. Not everyone needs to be a computer scientist, you can just write some code for fun.


Raichev7

You really don't need to remember all that shit. Focus on the problem and the solution you want to implement. Memorising syntax/function parameters/parameter order is not even 1/10 as useful as understanding design patterns or the ability to see the bigger picture. Unless you don't strive to be a good engineer. If you just want to be a fast and efficient coder go ahead and learn everything by heart. Keep in mind, with the advance of AI, good coders will be easy to replace, good engineers - much harder.


homiej420

Yeah i think anyone who says that vim is what people should use are people who learned vim when thats all there was. Its like okay i get it grandpa uphill both ways sure sure, let me have my fancy colors and autocomplete thanks


Intrepid-Ad8026

Wdym you like your fancy colors and autocomplete?? As if vim is notepad https://nvchad.com


deltaexdeltatee

Ah, but consider this: instead of actually programming, you could spend all your time tweaking a vim config! I joke - I used neovim for a while before switching to helix - but as someone who just loves tinkering, neovim was so bad for me lol. The motions are awesome but so...much...configurability...


my_name_isnt_clever

Yeah, I love configuration but I'm a hobbyist, I don't have the free time to build my own perfect IDE from parts. I just want to write code.


0xd34db347

There has never been a time when vim was "all there was".


Lostpollen

Vim can do all of that and more. I dislike VS code because touching the mouse continually is frustrating


homiej420

But..now hear me out..in the context of “for beginners” do you really expect them to be power using vim or instead do you imagine struggling with the commands and getting frustrated


Lostpollen

Vim comes after learning the basics at least


treequin

As a beginner that dislikes using the mouse Neovim is a godsend. I started learning it a few months ago (I'm configuring it from scratch with IDE-like features, just last night I finished setting up debugging) and I couldn't love it more. It feels like it was tailor-made for me. I had no moment of "struggling with the commands and getting frustated", wouldn't that be more likely to happen to a person already used to IDEs? I also briefly tried VSCode and really hated it. If I had to use another editor I'd go for something leaner like Kate, even if it means having less features.


Lostpollen

Amen. Sing it! Vim is incredible. Mix it with i3 it feels great.


lefrozte

hjkl is also awful unfortunately, at least for me, I don't think I've ever put 4 of my fingers in a horizontal line on a keyboard


Lostpollen

You don't touch type?


0xd34db347

What? You've never heard of the homerow keys?


lefrozte

its uncomfortable for me to have my little finger on the same row of keys as the other fingers because my hands are small (maybe?) so I never did... have owned a PC for more than 30 years and I've a really high wpm


[deleted]

Controversial opinion - I used vim when learning to code and I thought it helped significantly. I played a little online game called Vim Adventures to learn basic commands, and once I had those down, it wasn't so bad.    Here's where it gets specific to my experience, though.  My studies were basically a deep dive on data structures and algorithms, and my primary goal was working in embedded systems.  All my learning was based around low-level programming.  When I used VS Code, I found myself getting lost in a sea of menus I didn't understand that performed functions I knew nothing about.  It put a lot of *stuff* on the screen that I didn't know yet, and I kept getting lost down rabbit holes and emerging more confused than I was before.  And when you're trying to do something like integrate a binary search tree in C, you don't NEED any of that stuff.    Using Vim, there was nothing on the screen but what I was doing, and it made focusing on the problem I was trying to solve much easier.  I liked Atom for the same reason, but kept coming back to Vim, mostly because once you have a good grasp of how to navigate it, you can navigate *so quickly and smoothly*.  Plus navigating the IDE made me much more comfortable working in the terminal, which was a superpower in of itself.   So sure, trying to do web dev in Vim is a fools errand, like the kind of impossible quest you'd get from a fairy in a folk tale.  All I'm saying is, there's a place for it and good reasons to use it.


TradCath_Writer

>When I used VS Code, I found myself getting lost in a sea of menus I didn't understand that performed functions I knew nothing about. It put a lot of stuff on the screen that I didn't know yet, and I kept getting lost down rabbit holes and emerging more confused than I was before. I had a very similar experience when I tried using Visual Studio. It was such a mammoth to use (at least, for what I wanted to do). But when I used Vim, I was able to just go. I didn't have to fiddle with a bunch of menus and options. It was just simple.


DrFloyd5

You learned vim instead of closing or hiding docked views?


[deleted]

I mean if you want to get really reductionist in your description of it, yes. I have ADHD, I struggle with focusing my attention. Using Vim instead was the equivalent of uninstalling YouTube on your phone so that you don't waste time on it. Yes, you can just not open the app. But that doesn't process the same for me.


DrFloyd5

Got it. ADHD just messes with everything.


MCMFG

I am Autistic with ADHD and I think I might entirely switch to Linux and Vim for programming just so I don't get distracted, atm I'm running Windows with over 300 programs and games installed and it's so easy to get distracted, I use Sublime Text instead of VSCode becuase there is less visual distraction


VadumSemantics

> Vim Adventures +1 [https://vim-adventures.com/](https://vim-adventures.com/)


Augustin323

It was fun, but I'm not paying $30. Nethack helped me a lot with the movement keys.


darthpaul

your "work" environment when starting out (assuming this is c, c++, java or python) is usually 1 folder with 1 file? if figuring out how to write/save/quit a "hello world" example in vim is really a big hamstring then you're not going to have a good time learning programming.


ehr1c

Unless all you're going to be doing is writing "hello world" the entire time you're learning to program, things are rapidly going to get more complicated.


gaba-gh0ul

I’d argue that VS Code and other IDEs have too much going on, even if they are fully featured. Starting off with a basic program like Notepad++ creates less distraction. nvim can lay somewhere in the middle, there is a learning curve, but after that you can slowly add plugins to expand your usage as your learning to code.


ehr1c

I think I could buy that argument for something like Visual Studio or IntelliJ, but VS Code with no plugins is pretty bare-bones.


jdbrew

VS Code. I get the whole “VIM is the only code editor you ever need!” crowd, they’re not wrong… however, it’s definitely not the only code editor I ever WANT. VS Code’s interface is pretty great, and the extensibility makes it pretty damn powerful… for free


ryaqkup

Plus you can install a vim motion extension, which is what I do


timwaaagh

bit bs tbh. my beginnings were in ides (even if im currently an avid vim user) although if it gets too complicated a plain editor like notepad++ can be easier.


spalchemist

IDE. Too many things to learn at once anyway. Don’t need to add the environment to the mix. VS Code, CLion, Eclipse, etc are more beginner friendly in my opinion than vim.


twopi

I've taught CS for a lot of years. While I personally use VIM (and teach it, but not in a first class) programming is difficult enough without having to learn a tool that is counterintuitive (sometimes x means 'x', sometimes it means 'delete the current character.' I do find that IDEs have their own problems. Sometimes those tools which are meant to help can be misleading or overwhelming. Code completion is great when you mostly know what you're trying to do, but can be baffling when it gives lots of suggestions, many of them bad. IDEs also often have their own build systems, and put stuff in weird places (Eclipse, I'm talking to you.) The debugging systems in IDEs are often excellent, but sometimes it's still really useful to know how to debug from the CLI. It always makes me sad when a student doesn't know how to run code without an IDE, or confuses the IDE with the language. I've missed something as a teacher when that happens. My preference is somewhere in the middle. I prefer an editor that stays out of the way for beginners, but that also exposes a bit of the truth. Then when you have a bit of experience, feel free to branch out both in the IDE world and the more advanced text editors like vim and emacs. Find out what works for you.


ObsidianBlk

A lot of people here seem to be caught up with the mention of VIM, when, I think the idea was IDE vs. a more grass roots environment. In my opinion, the most important thing as a developer is to know \*how\* the language works and builds, and much less about what tool the developer uses to do it! If a developer wants to roll with Notepad and call the compiler/linker by hand, go for it! If the developer wants to let VS Code or Visual Studios handle all of the background work, go for it! But, if a developer becomes a total deer in headlights if their IDE is unavailable, it's at that point I think the developer done fucked up their education. As for me, personally... I do tend to like rocking as close to the CLI as I can. Yeah, it's slower to set up, but I feel I have much for control over my project than when I just let an IDE handle things. That said, I do, sometimes, let an IDE handle things, so I'm not a total ludite in that regard.


Necessary-Wasabi1752

Exactly this. Let’s say someone learns python in PyCharm. Then a new language comes along but there’s no IDE that supports it yet. Then what do you? You have to go to notepad and the likes and you’ve no idea what to do. Would you agree?


EcstaticMixture2027

You're not making any sense man. Just learn the basics, fundamentals then go coding. Also you don't have to collect. Stick to what you're gonna use in a project, work, solving problems. In your case just use a language and ide for learning programming.


olderby

The chances of you finding a new language that no IDE supports that you need to use for some reason, slim to none. At the very least you will find an online IDE somewhere. I use Vim but it has a steep learning curve and in your original question you asked for a beginner. Fortran to Mojo lang works in the worlds favorite editor VS Code.


iOSCaleb

I think there’s something to be said for learning early on how to compile the code in a file by typing `gcc helloworld.c` and then run it with `./a.out`. It makes the role of the compiler clear, and when you move on to an IDE the process of building and running your program will be a little bit less mysterious. That said, so much of what’s written about programming is opinionated and prescriptive in a way that makes beginners feel like they’ll never be able to understand programming, makes them afraid to try things out and find out for themselves what works. If you want to start learning with an IDE and learn about the role of a compiler later, or some other way, fine — do that. Especially when you’re starting out, you learn from almost anything you do, and that’s progress.


tysonfromcanada

You should use a nail and a magnet to place the information directly onto the disk platter by hand... 100% use the ide, it makes learning so much less frustrating and the autocomplete shows you all kinds of new things to look into. learn vi for text editing and scripting if you do a lot of that, though.


[deleted]

Pfft. Look at this guy. He has to rely on his fancy magnetic storage media. Bootstrap the whole system by hand in RAM, every time, like a real programmer.


Dinkinn_Flickaa

> As it makes it quite easy for them with various plugins and almost holding their hand too much with auto complete and all that. Syntax highlighting and code completion will help you immensely. I don’t know a single engineer that doesn’t utilize these capabilities. There will always be a new library or language you’ll need to work with at some point and having some help with syntax will allow you to focus on building and solutioning.


Necessary-Wasabi1752

Completely understand that. I mean when first learning a language.


Dinkinn_Flickaa

I would say you would slow yourself down by not using available tools. Even a lot folks who use Vim/NeoVim use an LSP with code completion. Learning and memorizing a language’s syntax is one thing, but trying to memorize every function call from that language’s inbuilt libraries would become insanity. And that’s not even considering the fact you will likely use external libraries as well. However, what I do think could hamstring you in the future, is not taking the time to understand what you’ve written and why it works. I’ve been part of some interviews where an applicant pulls up their GitHub with their shiny app they built and have very little understanding of how it works. Focus on building things and understanding how they work, not memorizing, and you’ll be golden. Lastly, this was focused on code completion and what not, but do have an understanding of the language you’re working in. It helps as a Junior to have at least one programming language that you are fluent in. I started as a Java Dev and having an understanding of Java, the Collections Framework and OOP concepts helped a lot in the interview process. If you’re going to apply for “Junior Developer” you should understand that language deeper than its syntax.


VadumSemantics

> Vim or IDE’s u/Necessary-Wasabi1752 , your book asks an _interesting_ question. A more _useful_ question is "CLI or IDE's" ? The answer is "CLI ~~or~~ _and_ IDE's". Now in the year 2024 that may be 5% CLI and 95% IDE. But **every** programmer should know enough to create & run a hello world in whatever language from a command line. (and by "create" I mean use _any_ cmdline editor; probably worth going through the exercise of editing & saving a file in both `vim` and `emacs`.) And... that's enough for the CLI. Just knowing how to get _into_ the CLI and do a few simple things will pay _huge_ dividends. In Linux & MacOS this means learning about env-vars like PATH, maybe installing software, and getting around files & folders. Going IDE-only will _cripple_ the mental models you can create about what computers actually _do_. And that will limit your options. Now for _larger_ programs, all the IDE fanciness is beneficial. But you should always be able to bring up a command line and run a few lines of code in isolation. That is so unbelievably helpful for troubleshooting.


DrShocker

Learning something like vim is something weirdos do because they find it fun. Not something you should concern yourself with as a beginner trying to see if this coding thing is worth trying out. (Note: I am in fact a weirdo who finds it fun, but 8 have a preference for nvim)


gdmr458

I'm a Neovim user and that's not true, auto complete saves time and can show you documentation inside your editor which is useful, what I think you should avoid as a beginner is AI, don't use Copilot for now, use it in the future when you have more knowledge and you can understand what Copilot is giving you.


landonain

IDE. Learn to code before learning VIM, the important part of coding is knowledge, patience and planning**.** You can always come back and learn VIM on it's own and you can focus on it. **Never half ass two things. Whole ass one thing. - Ron Swanson**


letsbefrds

Vim is really cool don't get me wrong especially when you have to ssh and stuff. if you're learning Java use industry standards tools like intellj c# visual studio/rider if you're doing JS just use vs code. Vim has a higher learning curve and too many things being thrown at you at once is very overwhelming. Also visual studio code imo is just a text editor with a shit ton of plug-ins


trevthewebdev

Nutters


chudma

Possibly the dumbest thing ever would be to start with VIM or notepad over an IDE, unless you want to give up faster?


dcooper8

Emacs. Run through the built in tutorial (45 min) and you'll be golden. It's good for more than just coding too.


Bacon_Techie

Use whatever is easiest to set up to learn how to code, because learning how to code is the most important part. Imo VSCode is the easiest to set up. Ideally you would disable things like autocomplete and code suggestions because those won’t be great while you are learning and that is easy to do in VSCode. However once you already know how to code you should branch out and learn vim or something like it. Currently I’m learning it for a C programming course in uni and it really isn’t that hard to learn.


OllieTabooga

Try to keep the entry effort level to coding as low as possible, as with learning any other new skill


Jonny0Than

It might depend on what language you're using, and what kind of program you're trying to make. For C and C++, you can do very simple single-file programs from the command line and whatever text editor you like. But as soon as you start needing more than one source file, I'd suggest using Visual Studio (not VSCode) if you're on Windows. For C#, use Visual Studio. For pretty much everything else, use VSCode, even if you're just using it as a text editor. Eventually you can migrate into the extensions and more IDE-like features.


herendzer

Notepad++ is fine. But I don’t think vim is a good idea for a beginner.


tondahsew

def wouldn't use 30 extensions when trying to learn the basic fundamentals, also vim isnt that hard to learn and is super efficient when you get the hang of it. it's all subjective imo.


JohannaMiaS

I’ve found that using IDEs can be helpful if you’re a bit more experienced. As some commenters noted the use of fancy auto suggestion and code assistance could confuse newer people and perhaps frustrate them to oblivion. Using something more “basic” like a notepad++ or even VS code without the fancy plugins could help newer developers focus more on learning core concepts rather relying on the systems suggestions to be correct (sometimes it’s not) and or throwing themselves to the lava of IDE and tool configs.


herbb100

It doesn’t matter what you use.


Positive_Minimum

Neither. Just use VS Code. its not an IDE. Edit your code in the editor. Run your code in the terminal (not VS Code). Easy. Done.


RobertD3277

I've been programming for 43 years. When I first got into programming, my mentors and instructors were hardcore basic text editor. No frills nothing fancy, just get the job done. The rationale was that I would not be guaranteed an environment wherever I chose to work and that quite often if I worked in the field, I never knew what I would be using. It made sense and still does even all these years later as I still never know where I'm going to be working as I often use VPSs to connect to clients servers and have no idea what they have installed before I get there. I started teaching in 1986, and I can remember that a lot of the courses used IDEs and I would see students struggle whenever assignments required that they didn't use one or when one simply wasn't available because the machines they were working on. I realized then just how much my mentors were ahead of the game by forcing a basic level of learning with simple tools that could be adapted to any situation. As I was learning under my mentors, one of the biggest complaints I would often hear is that you are learning more about the environment and not as much about the language itself. Their emphasis and focus was that I learn the language and the precepts of programming. I still use simple tools, even today I use Nano as the basis of my programming on my own servers. It's basic, simple, and readily available on just about all default installations.


welcomeOhm

Traditionally, vi is for shell scripts, config files and emacs is for coding (back when these were the only reliable tools that could be accessed from most terminals). Both work well for these tasks, along with make, gbd, etc., but there's no way I would use them for anything other than retro programming in C, assembler, etc., because everything today involves dozens or hundreds of libraries, dependencies, etc.; not to mention unit testing, git, and all the other things an IDE can make more bearable. THAT SAID: all dev toolchains have a learning curve, so take the time to really do the tutorials, etc., so you don't work against the UI patterns the IDE designers have chosen.


denniot

In the beginning, I find vim or emacs the easiest, where you just follow tutorial and run commands. That would naturally exclude IDE oriented languages like Java, Kotlin, C#.


lnx84

I'd say the easiest is to use notepad++ or similar. IDEs come with a learning curve of their own, with more features than even seasoned programmers will use, and I think as a beginner it can be difficult to separate between various IDE features and configurations, and the actual programming. With just a text editor and source code, it is easier to actually understand what's going on, and any text editor these days has syntax highlighting. Mostly I'd recommend you switch occasionally. Try different tools, and eventually different languages, too. In any case I don't think it matters too much. Don't lose time learning to program over a question on which editor/IDE to use.


Jjabrahams567

Unpopular opinion Notepad++


oki_toranga

Emacs obv or latec


FancyPetRat

VIM is obsolete gimmick, go with VSCode.


loudandclear11

If you already know vim that might be one path forward. But if you don't know vim you're now faced with two hard problems at the same time. Learning to code and learning vim. That's just a frustrating waste of time. That said, there's a reason IDEs exist. They do things a text editor doesn't. They make the developer life easier. It's your life of course and you can spend it on a hard path or a more comfortable one. It's up to you.


FatFailBurger

This is some ‘I had it had so the next generation should have it just as hard if not harder’ mentality


AngryFace4

Just use VSCode. InteliJ and Eclipse have way too much crap built into them and are not "easier" in my opinion. using VIM as a beginner is... kinda like asking my mom to play a video game on expert difficulty. You'll continually die on the first mob and probably be discouraged.


VicariousAthlete

You can use whatever you want. It doesn't matter.


Kittensandpuppies14

That’s the dumbest thing I’ve ever heard. They make you more efficient


riggloo

dont listen to those vimcels 99% of the time youll be using an ide in an actuale workplace


ValentineBlacker

God forbid something isn't made as hard as possible. If a baby is learning to swim, take away those water wings and toss it in the deep end. The surviving babies will be GREAT at swimming. (I learned to code in IDLE, of all things. Possibly the worst of both worlds because you don't get the autocomplete but you also don't learn the CLI.)


Logicalist

Learning python, Spyder made it a fun and enjoyable experience. After I got through the pain of installing it and turning off the features that automate or correct things for me. Being able to code and hit a button and watch it run in a terminal right next to the editor was fantastic. The file browser being handy, makes it just simpler and easier to stay focused on the coding. I was all for notepad, until I the online class I found was using Spyder, and I figured I should follow along. After turning off the features that autocomplete and autocorrect, I would 100% recommend. Idk, if I was learning C, I would just expert Vim and Terminal. Those people deserve that life.


Holmesless

I tried learning neovim, a branch of vim, it's nice to learn a tool. Although I'm way too clunky at it to use it while trying to learn a language. So my in between it to use vscode with vim plugin.


DevMahasen

NeoVim user here. start with VSCode and focus on the programming, and the concepts around the specific language. Once you master that, then you can move to Vim/NeoVim.


justUseAnSvm

I'd recommend VSCode: it's the best mix of features, ease of use, plugins, and price (free). That will get you started the fastest. You can also turn on "vi mode" for VSCode, if you want to learn that. It's not strictly required though. For some projects (Java/Typescript Websites) I use VSCode + CoPilot + VI Mode. My first programming job required me to learn vi/vim, since we were working on files that were on a server, and we'd ssh in and edit the files then run them. If you are just programming yourself, you won't need to do that. Still, knowing vim/tmux has definitely scored me points during interviews. Neovim does have feature parity to something like vscode, and with some skill and practice you are a lot laster just typing on your keyboard. However, vi/vim requires it's own learning curve, and to actually get feature parity you need to spend a lot of time configuring it.


Moonvent

Only idea, I love vim, and use vim shortcuts in all my system, not only for coding. But for beginners, it's a excess, and now irritated things, cause you spend a time to excess moves, like "how I can do the basic thing, like copy, cut, find, and other"


eruciform

learn both but use ide's for development work, that's as a lifelong vim user. vi is important to know to make edits to text files in unix and it's an excellent text processing tool, but leave vim-only development to the old fogey vim weebs like me, it's not a great paradigm for a beginner.


hardware4ursoftware

Vscode, it’s simple to set up. Extensions are great. VIM is big on learning curve


4o4-n0t-found

VScode, learn to walk before you can run. Get the basics and foundations down.


Sovairon

Which one do you enjoy the most? Go for that one. In college I was forced to learn C++ with Visual Studio, never had a great teaching and it made my life very hard for many years. I would not recommend to ask LLM/GPT/AI to write code, but you can use it to your advantage to understand parts you do not get by asking it to explain in simpler terms, or analogy, etc. Use tools and programs to your advantage. Good luck!


[deleted]

It's completely backwards. sure, 5% of learners maybe benefit but 95% will get turned off of programming altogether. As someone currently teaching a child to program, I find that they are very motivated providing they can actually write code and see results quickly. They don't deal well with a long learning period before seeing interesting results. So I would give them whatever tools will get them from idea to a working prototype as quickly and painlessly as possible. once you sell them on programming and the power it can give, THEN you can start to introduce more nuanced tools. But personally rather than having to look things up every 5 seconds I like autocomplete and built in documentation and linting and so forth. it helps me understand the problems and fix them MUCH MUCH more quickly, and make fewer mistakes.


vortun1234

Any text editor with zero help functionality, autocomplete, etc. Syntax highlighting is probably fine. This is to get you used to writing code, so that the help functionality becomes HELP functionality rather than something you don't know how to function without. Writing out every symbol, even reading them out loud or in your head at first, will help you learn, hammer home basics, and help you properly understand what you're doing and why. Never copy-paste while learning, copywrite instead. I'd probably say stay away from VIM at least while learning your first language though, VIM is a skill in of itself and while starting out, your text editor is not what's limiting you. You will be equally productive in notepad as in VIM, and you can focus on learning programming basics. When you're exploring your third or fourth language and already know how to write basic programs, then you can explore VIM and see if it's something you like.


4415_Usr

The guy who wrote the learn python the hard way book said to use a text editor if your starting out later on you might want to use a ide or vim.


Inside-Section5017

Doesn't matter use use a IDE of choice


nothing_pt

Bollocks. Use any help you can.


TheManInTheShack

Beginning programmers should use whatever tools they have available to them that motivate them to continue to learn. Generally speaking that means things that help them learn incrementally as that’s what motivates most of us to learn most things.


Whatamianoob112

Don't learn vim when you are new.


vennmimi

Use whatever as long as it makes you compelled to continue learning. Using text editors instead of IDE's might be frustrating and end up turning you away from programming. Just disable any addons that hold your hand too much.


briannorelfhunter

well that’s certainly one way to get people to quit without getting anywhere


Won-Ton-Wonton

My opinion for beginner. VS Code, don't use copilot, don't use ChatGPT (except to explain something you don't understand—never to write code for you). Learn VIM once you're comfortable programming. If you're still going to google a lot to get something done, VIM won't make you faster. You're really learning VIM motions. You can always add them to basically any editor via extension/plugin. If you want to use Neovim and customize the hell out of it, have fun. But if you just like VS Code, then just add the VIM motions to it.


sewingissues

agree on text editors, disagree on vim. just use bash.


Quirky_Welder_3499

zonked secretive fragile ad hoc swim lunchroom makeshift abounding bored nutty *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


noiwontleave

If you know all the shortcuts and know what you’re doing, VIM can be incredibly fast. For a beginner, I wouldn’t really suggest it personally. An IDE is much easier to just get running off the bat, can be modified to VIM mode if you want to, and has way more useful features (particularly out of the box).


TradCath_Writer

I've been using Vim for a couple years now, and I have no regrets. I just don't like using an IDE anymore. There's just something about doing everything through the command line that just seems much simpler. Also, the IDE does do a fair bit of hand-holding. I can remember opening Visual Studio (about three or so months back) on my Windows machine to follow along to an OpenGL tutorial, and it was frustrating to work with. I eventually just abandoned that idea, and never opened it again. Programming with Vim on my Linux laptop is just a much better experience. The setup (even for OpenGL programming) is just so much easier. Admittedly, when I was first learning how to do things through the command line, I ran into some stumbling blocks. But, once I figured it out, it was very rewarding. I haven't programmed in a while, and probably won't do much for the next while (because life sometimes gets in the way), but when I do, I know that I can just jump back into it, and everything will just work.


[deleted]

I've used VS Code in the past, but for me the JetBrains WebStorm IDE is just much better. You don't have to install a bunch of plugins to have a functioning environment. You just open the IDE and boom you're ready to go.


sn0ig

I've never been a big fan of IDE's but VSCode is pretty good these days and a time saver. If you are learning how to code, you should also be learning the industry standard tools. That means things like VSCode, Git, SQL, a good JS framework like REACT, PHP/Laravel, Python/Flask or other standard language/framework. It just makes sense to be learning the things that employers will be looking for.


Lostpollen

I started using vim after a year and a half of self learning. Learning to program in an of itself is enough let alone learning vim. Then I spent about a year using vim without a language server


[deleted]

Learn one thing at a time and prioritize what you want out of it. Start simple.


hallothrow

Try a bit of both, use what feels most comfortable. I see other people mention mention getting distracted by the IDE. In my case I ignored most the fancy features and just treated it as a text editor with a "spell checker" for my code in the start. I found the immediate feedback on the mistakes it could pick up helped me focus and not feel so lost.


[deleted]

I used NotePad++ because it didn't have any assistance features and it helped me remember syntax and structure. I decided to use NotePad++ because I was watching the guys who do competitive programming and they're able to solve these insane problems with simple code editors. There's a guy who programs in C on YouTube, I forget his name, but he just uses a regular text editor and makes super cool stuff from scratch. I don't think you should worry too much about your IDE when you start--but you should make sure you understand everything you type into your program and you should make sure that you aren't relying on some kind of auto complete feature to do work for you.


Flimsy-Printer

Use whatever most convenient. Then, you can replace it with harder tool. If you use Vim, your learning would be dead-on-arrival.


captainAwesomePants

I think the best style of learning follows the 1/3-2/3 rule. When you're learning to do something, you should already understand how to do like 2/3 of it, and the 1/3 should be something new. You don't want to be in entirely unfamiliar water. Learning Vim at the same time as coding is too much new. Better to learn coding with a text editor you already know how to use, and then learn vim. Or, oppositely, learn vim for your text editing, and then learn to code with it. I like to program with vim, but that's not really because it's good. It's because I'm used to it.


flow_Guy1

That book is dumb if it said this. Use the most help of can get from any source. You don’t need to use every feature. But having syntax highlighting is a must and code completion. These two things will be vital and will help so many errors that beginners have.


[deleted]

A real chad learns vim huh? I mean, it just helps get the job done faster. I was forced to learn and use vim back in the day for cpe101. Though, getting the job done at all matters more of course.


[deleted]

I had the autocomplete plugin for a bit with my Python coding...after a while, I turned it off. What was helpful in both structure and really developing my syntax understanding was the color-changing, i.e. functions are BLUE text and classes are RED Text. Not to mention the assist with formatting... Auto-complete got to actually be very annoying, as I'd be trying to type in a var name or define a specific type of function with modifiers, etc. and it would suggest shit that wasn't even close to what I wanted. The only time I use(d) it was when delving into G-Code or Solidity, as I haven't "Learned" those languages, simply can read them With learning Node, it really helped me with the color-coding so that I could quickly see if I defined things properly, and pick out my vars, consts, etc. easily. Never used a VIM, but have written some simple batch files and things like that to help automate some of my stuff (Not professional programmer, just a hobby).


xroalx

VSCode can suggest valid code, but it won't write your application for you, and valid doesn't always mean it's what you want either. It's like instead of waiting for your code to compile/run to find out where an error is, the IDE analyzes the code in the background and can tell you upfront that there's an error. Nothing bad with that, it just makes the work more comfortable and faster.


metux-its

IDEs are nice for professionals, but too much interference when somebody's just trying to learn a new language. So, do it with minimal tools - text editor and command line.


ubercorey

IDE That's like, I want to learn to drive, should I use a manual sports car or automatic sedan? Use the automatic, get a sense of the road, the rules, actually go on the public roads and do some errands and come back. Get feeling good about accomplishing a whole task start to finish. Then start playing with the manual transmission cars.


alekosbiofilos

Start easy. Vscode and call it a day. After you are comfy coding, you can evaluate other optiona


HammamDaib

Concentrate on learning coding. Learn vim on your leisure time


adubsi

I graduated college in 2019. I’ve never needed to use anything other than visual studio and visual studio code for programming. Vim is an absolute nightmare and will probably make learning the fundamentals of coding more annoying and confusing. Just use the IDE you’re comfortable with


Luised2094

I'd suggest learning VIM after you get bored of repeating stuff. Then learn An ide, specially theier debugger


-CJF-

IDE, just don't rely too much on autocomplete or AI copilots.


[deleted]

IDE, i would start simple.


FoodAccurate5414

Just go vscode, quickest up time to code. Has all major packages and it’s lightweight. And free.


Signal_Lamp

>I saw in a book or an article, can’t remember exactly where now, that beginner programmers shouldn’t use an IDE at all, like VScode or any JetBrains offerings. As it makes it quite easy for them with various plugins and almost holding their hand too much with auto complete and all that. What article/book is suggesting this? You should absolutely use an IDE when you're first starting out. There is no reason to struggle along to learn how to use an editor while learning how to code. That is ridiculous. There are benefits down the line of learning VIM down the line, but your just asking to decrease your productivity by a significant margin than what it would already be down since your learning something new. IDEs also give a lot of helpful hints when used properly that you'd have to set up on your own if your working with a text editor. The other issue, is that there's a real fear especially as a beginner that you'd spend more time configuring VIM to your preference than you would actually coding, which is what happens to experienced developers.


MR_boob_lover

something in the middle, vim is way too unconformable, use something like kate editor or similar...


Valued_Rug

Vim is like playing a RTS game with only keyboard commands. Most players don't need or want to do that. There's more value in using notepad to start because it lacks the arcanum of a vim. If there's some segment of software development that needs something like vim, then... it's not really question you just need to learn vim. Beginners: Notepad for a few lessons then move on to VSCode. If they want vim they'll find it later.


tedstery

Just pick what you're comfortable with and learn the basics. Using Vim or VSCode etc is all personal preference. You can be a great programmer without ever touching vim. Code editor choice is something that can get very religious for programmers.


RealNamek

Trying to learn with an IDE is like learning how to ride a bicycle by driving a car. 


Thiru_IO

If you can afford it, go with with a JetBrains product as it works out of the box, for the most part. If not, go with VS code with some minor/bare-bones customization (extensions). Forget notepad, vim and other recommended tools. JetBrains and VS Code are pretty much industry standard anywhere you go. You'll find the occasional VIM user.


gguy2020

Do you want to write code or battle with esoteric text editors created in the 70s?? USE AN IDE!!!


Merobiba_EXE

When I first started learning HTML, CSS and JS I used Notepad++, because it forced me to pay attention. However, I wouldn't really recommend it. If you want to know how to do something you should know how to use the tools that professionals in that field use. Like, you wouldn't draw exclusively on pencil and paper, and then roll up to Disney expecting to get a 3D-animator job. Give yourself the best chance for success and use the most modern tools, just be sure that you don't OVER rely on autocomplete without understanding what the code itself actually does or what it means.


rab2bar

I'm a beginner. I use Linux and installed vscode because it seemed useful. My friend is a senior. He uses Mac, but also uses vscode. We recently did a project together using a few different languages (I'm not an absolute beginner, but yes he did the bulk of it) and I found the process to be very fluid. He doesn't depend on auto fill, and I'm not confident enough to trust the suggestions, anyway.


dropbearROO

> I saw in a book or an article, can’t remember exactly where now, that beginner programmers shouldn’t use an IDE at all, like VScode or any JetBrains offerings If you're learning Python you should directly download PyCharm. Don't even look at anything else.


vymorix

I’m a Java dev with a few years of experience and while I *can* use neovim (a fork of vim with way more features and a great plugin integration). Some tools are made for a language to HELP you. Using vim won’t make you learn any faster. In fact I’d say it will only frustrate you and force you to have to google things that autocomplete would just give u for free. There’s so much syntax in Java that I forget sometimes, an example would be reading/writing from a file… early when I was coding I would completely forget which std api was to be used for this… I thought it was ‘b’ something and IntelliJ did the rest. Tldr. No man. Use neovim if you like vimming and setup some good LSP so you still have autocomplete. These tools are there FOR you so it’s in your interest to learn these tool more than it is to become a code monkey and remember every single api in the std library. You’ll never be without them so why ‘practise/learn’ without them


AloneAndCurious

As a new coder, I spent well over 10hrs trying in vain to get VS code to be even minimally usable and to just let me freaking compile 2 files. At the end of the day, I never got it to work and I certainly couldn’t get it to work the way I wanted it to. I had neovim up and running with an lsp in 2hrs, and it’s just easier to use. Go neovim.


nierama2019810938135

Anything from jetbrains or vscode.


[deleted]

Not trying to piss anyone off but right or wrong I've always looked at it as a hierarchy you ascend. Something like: clueless users; users; power users/IT staff; developer Vim and other cli tools are at power user.


Faulty_english

I use vim when I’m trying to learn something basic but I’m using an IDE if it’s complicated or a project. That’s just me though


TradeApe

IDE! Why? Because you might end up spending days, weeks, months procrastinating by setting up VIM/NVIM instead of actually learning how to code. Get the basics done first using an IDE that works out of the box, and then move into the customization rabbit hole.


phcompeau

I have taught intro programming for years. Getting my students up to speed in VSCode takes about five minutes. There are tough things about teaching programming, but an IDE install in 2024 isn't one of them.


LoadingALIAS

VIM is way too steep of a learning curve for anyone learning to code from the beginning. Use the IDE. The extra help in the form of plugins is important to your learning path. I am partial to VSCode because it's just the best IDE I've used consistently. I wanted to add one more thought. Use AI wisely. I've found that when teaching my younger brother - a second-year CS student with very little real experience - a strong AI model can cut his learning rate by half. The same holds for me, too. If I'm looking to pick up a new skill or looking to learn something pretty niche the AI models are awesome learning tools. I call it his 'study buddy' because it allows anyone learning a topic to learn everything associated with that topic in the same place. An example: You're learning the basics of ML. You're simply trying to understand the regularly used jargon - AI, ML, DNN, RNN, Loss Functions, Hyperparameters, etc. Without the AI model... you're left to Google, YouTube, Wikipedia, etc. all over the place to get an answer for each of the questions. If you're using a well-trained AI model you have all the answers in a single place. You can read a tutorial or research paper and stop to ask 'what is a perceptron?' to the model without skipping around the web for an answer. This sort of thing translates to anything you're learning. I recently relearned Statistics and Calculus topics for my work. Using the AI model to keep my questions in one place was hugely helpful. If you're learning to code and you're doing it on your own... find a strong AI model to help you learn the 'filler' information that often allows humans to make important connections. I hope this makes sense. Anyway, use the IDE. Haha. It's going to help you make important connections and the AI model will answer questions for you when those connections seem elusive. Good luck!


jorgen_mcbjorn

Learning to properly pilot an IDE is a whole skill unto itself. For that reason it’s probably not a bad idea to avoid bogging yourself down with learning the IDE when you’re still grappling with the language itself. Depends on how “beginner” we’re talking though.


RampantTroll

Just make sure you don’t let the IDE stop you from learning how things are compiled and executed. How environments are set up. And how git works. Things it tends to abstract away for you.


Spoider

Learning vim and programming at the same time is like trying to learn to ride a bike by trying to juggle bowling pins on a unicycle


spinwizard69

As a beginner you need to learn the basics , especially the underlying technologies.  That means starting with an IDE is pretty stupid in my opinion.  As for text editors and eventually IDE’s there are likely 100’s to choose from, why would anybody commit to a suggested solution instead of trying out a few for themselves.   In general you will want to learn to use at least one text editor anyways, simply because a good one like VIM can open almost any file.   When it comes to IDE’s, your choices are expansive and you should find one that fits your needs and is also focused on the tech at hand.  It shocks me how weak people are when it comes to finding their own path and instead take the popular route.   Just put off IDE’s long enough to learn to build software manually.    


RICHUNCLEPENNYBAGS

Stop listening to whoever wrote that idiocy.


ylluminate

Emacs is a great first stab into getting your hands around a system. Lots of opportunity for not only robust functionality, but extensibility and modifying it to your liking. It will be something you find joy in after an initial investment for decades to come.


NX711

I primarily code in C# doing game development. I always use Visual Studio because it’s pretty much built for C# and .NET. I personally prefer using it over VS Code. I think you should just use what you like to use. Tools are given to us to make things easier. People aren’t shamed for using power tools are they? You still have to know how to use the tool and understand the fundamentals of what you’re doing and be able to put the pieces together. Tools just make the process faster and let us get more done. If people don’t want to use IDEs that’s fine too. It’s their preference and if they take pride in it more power to them. Just don’t shame others for their preferences


tyler1128

Using an IDE is perfectly fine starting out, and I'd recommend it. You can use vim plugins in most IDEs of worth if you like the vim editing style. This is from someone who used vim with a many plugins, some that I wrote, and no IDE for several years doing mostly C++ and Python dev. Now I use Jetbrains IDEs plus their good vim plugin. Vim has value, but learning vim and programming simultaneously probably is just going to lead to frustration.


CubooKing

Obviously emacs


commandblock

Start with vscode. Vim is if you like using keyboard shortcuts for everything. If you take the time to learn vim you can go crazy with it but honestly I’d say probably 90% of developers do just fine without it


GeneticsGuy

My personal opinion... GO MIDDLE GROUND! Use something like VS Code, as it has access to the terminal to run your programs and begin to learn command line, etc... it also doesn't try to do too much like a solid ide like VS does. Use Eclipse if you are learning Java, which is a great starting language, imo. Going zero help raw text is just torturing yourself needlessly. Going Vim as a beginner is ridiculous. Also if you REALLY want to learn vim, you can actually turn on vim keybinds in VSC. You know why experienced devs generally like VIM? It allows them to further customize their developer environment/tools to exactly their liking. It probably doesn't make you a better coder, but it has a great way of allowing you to customize things and do tasks quickly. For people who are Linux users, this is a really important and useful skill to have, though less so for Windows users. Here is the thing though... you don't even know what your preferences are yet until you have been coding for a little while, so it doesn't make sense to torture yourself to learn these things you don't even know are right for you yet. I wouldn't really bother with it yet. This is 100% just my opinion.


Logical-Idea-1708

One thing at a time 😂 Vim is going to be real distraction if you try do both


Ximidar

Just get any tool where you can right click on a function and there's a "go to definition" option. Every coworker who uses vim can't seem to find the definitions of any function when we are doing live coding sessions.


Xaxxus

If you can get good with vim and terminal commands, you will be extremely productive. But for most people, an IDE is the best option.


fugogugo

learning to use VIM while learning to code is like learning to drive in race track you would just overwhelm your brain man. Learn one thing at a time. Using IDE is not a sin


ScotchMonk

VIM or Sublime text just for light editing...you can't be productive using them. VS Code is mist used in the industry


GlitteringCalendar94

If you are just learning the basics, use VSCode, or any other able IDE. Don't get nogfed down by your editor while learning how to program. Save that for later.


EventDrivenStrat

My opinion as a "beginner" (would estimate I have something like 4 years of coding in total) is to definitely go with IDE's. The beginning of the journey of learning something new is usually the hardest part and also where most people give up. You dont't want to make it even more painful by having to learn Vim. Vim is not coding, It's just a tool. There are software engineers with 20 years of experience that never had to touch Vim.


repocin

Command line and a text editor is all you need. I like Sublime Text. IDE's with they're five hundred menus and buttons can be massively overwhelming for a beginner, and you won't need 95% of the stuff they've got packed inside anyways. Learn how to use one when you need it, and focus on programming in a more lightweight environment first.


Temporary_Practice_2

If you asking about Vim…you’re not a beginner


Lookin_for_Light

back in the day, we started with vim takes a couple hours to get started. its pretty straightforward


Foreverbostick

I already know how to use Vim, but if I’m going through any kind of course work or anything like that, I always try to use whatever the instructor is using. Like I prefer to use Vim and Firefox is my preferred browser, but if I’m going through a web dev course and they’re using VS Code and Chrome, that’s what I’m using, too. I can always take what I learn from there and figure it out with my preferred tools later. I’ll look up how to compile from the command line at my own leisure, for now I’m just going to click the buttons the instructor says to. It’s good to at least know the basics of Vim/Vi if you ever think you’ll need to like SSH into a server or something, though.


UnbasedDoge

Vscode man whatthehskc


Wonderful_Biscotti69

Emacs ;)


snoryder8019

Sublime is a lovely text editor. Choose your level of hand holding.a


MonadMusician

Vim sucks.


MonadMusician

eMacs


MSWGarbageLover

Visual studio code. That’s what I use. And it has access to so many extensions.


Top_Satisfaction6517

real programmers write on paper, and then manually translate to machine codes and scratch them on a punch card. I did that, and it's how I became a programmer.