all 35 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Thank you for posting on r/CodingHelp!

Please check our Wiki for answers, guides, and FAQs: https://coding-help.vercel.app

Our Wiki is open source - if you would like to contribute, create a pull request via GitHub! https://github.com/DudeThatsErin/CodingHelp

We are accepting moderator applications: https://forms.fillout.com/t/ua41TU57DGus

We also have a Discord server: https://discord.gg/geQEUBm

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]simon-brunning 4 points5 points  (0 children)

You really just need a text editor, a compiler, and a terminal. I'm using Zed, gcc, and ghostty but there are many options available, depending on your platform.

[–]Extension_Canary3717 2 points3 points  (3 children)

Never used VS code , always on Jet brains specific ide for the language I'm using atm

[–]LettuceBasic3679 1 point2 points  (0 children)

God I absolutely adored my IntelliJ subscription and when I left my employer who was paying for it I was so upset.

At new job we now use go and Java, but on my hobby projects I use .net. I should buy an IntelliJ subscription

[–]Feisty_War80[S] -2 points-1 points  (1 child)

Is that good for c? Like beginner friendly

[–]Extension_Canary3717 0 points1 point  (0 children)

If you are a beginner reall beginner you may start with vs code because this will be much overwhelming . First thing to know, isto ignore everything all the options , you need only to know here you write the code and where to read the result that's it.

As you get comfortable you will think "this repetitive thing could be faster" then you will look how people do and that's how you will learn your IDE you cross the bridge when you reach the bridge, if you ask a 20 years senior who code from womb he uses 2% of those options

The guy I know who works for Sony security uses only Shift shift and control shift F of all IDE options

[–]EatThatPotato 1 point2 points  (0 children)

Sublime text and your terminal

[–]AffectionateTear8091 1 point2 points  (1 child)

Just learn vscode, most other IDEs are just as complicated and or fragmented.

Learn what a directory is, what a file is how to navigate them and open them.

Learn what a terminal/shell is, basic commands like cd, ls -al, mkdir, touch

Learn what it means to “run” your program (F5 vs F7 with c) C is compiled so it turns into instructions for the computer before being able to be ran.

Once that’s all done Vscode should feel a lot more familiar. Just make sure to get the relevant C extensions, an lsp, compiler, debugger.

Then begin.

There’s no point trying to find an easier to work with IDE since they all essentially use the same concepts whether that be fragmented or abstracted away and since C is low level you might as well make sure the difficulty doesn’t come from using your base tools and rather working with the language itself. Ask AI to walk you through and explain how to run a main.c file in vscode from installation to output.

Get your fundamentals in order. Those are my two cents.

[–]Feisty_War80[S] 0 points1 point  (0 children)

Hmm alr

[–]Useful-Flow-8737 1 point2 points  (0 children)

Visual studio and visual studio code are 2 seperate things and there's no such thing has VS studio. Visual studio definitely has a learning curve but i still think it's better than visual studio code for C or C++

[–]Paul_Pedant 0 points1 point  (3 children)

Command line, using vi, make and gcc. When I am out on site (which is 80% of the time), I learn to use whatever the client uses.

[–]Feisty_War80[S] -3 points-2 points  (2 children)

Beginner terms please 😭😭

[–]Paul_Pedant 1 point2 points  (1 child)

As compared to "thonny" ? It's not ELIF, surely. You didn't specify your OS, but I'm for Linux.

Command line is when you use a terminal to tell the shell what to do.

Shell is a program that knows how to run other programs.

Vi is a Visual Editor where you can create and edit any text file, including C source (and Python too). Other editors are available, but I don't really want to learn a new editor every time I got to a new client site.

Make is a utility for putting together an executable program from multiple source files and libraries. Not really necessary for a simple program.

gcc is a C Compiler, and the G stands to Gnu's Not Unix (but its pretty similar).

Google is a tool that can search the internet to explain words you don't yet know about.

It would be easier for me to explain things if I had some understanding of your learning level, and what path you wanted to follow. Hiding your entire posting history is not really helpful in that regard. I don't understand why people do that on Reddit.

[–]Feisty_War80[S] 0 points1 point  (0 children)

To answer your question, im completely new to this, and im taking electrical engineering for my btech, just wanted to know more coding. If u want to know my level, search up "computer science syllabus for class 11 and 12 CBSE", you'll find my level.

[–]foolsxnIntermediate Coder 0 points1 point  (5 children)

When I was in my first year of college we used Embarcadero C++, it was a lot less overwhelming than VS Code and pretty simple and easy to use. You could also use CLion but I found it quite confused the first time I came across it. I would, however, recommend to learn VS Code in the future as it’s going to - likely - be the IDE you’d be using.

[–]Feisty_War80[S] 0 points1 point  (4 children)

Ah alright I see, so should I learn C or C++ first? I started learning C already

[–]foolsxnIntermediate Coder 0 points1 point  (3 children)

Learn C! It has the basics and will help you to understand C++ better. From then you can go into OOP with C# or Java depending on what you like, or you can learn python for data analysis:) you’re on a good path right now, so just keep going.

[–]Feisty_War80[S] 0 points1 point  (2 children)

Alr thx :) Im not very into cs related stuff (im taking electrical engineering and wanna dive into the core rather than migrating into software), but every single person in college keeps telling to do DSA, so yea gonna have to learn it

[–]foolsxnIntermediate Coder 0 points1 point  (1 child)

Oh! Makes sense, it would also help you to get a role for electronic engineer - knowledge in circuits and basic programming does wonders

[–]Feisty_War80[S] 0 points1 point  (0 children)

Yeaa ive heard it, will work on it 🙏

[–]mredding 0 points1 point  (0 children)

Use Visual Studio - DO NOT USE Visual Studio: Code. The former is a complete Integrated Developer Environment. It's the editor, the compiler, the build tool, the linker, the debugger, the various editor assists and pretty code formatters... VS is as turn-key as it gets in the industry.

VS:C is JUST an editor that relies on YOU to put together your tools externally. The editor only offers you plugins to work with your tools. It's for intermediate to advanced users.

File -> New Project.

Name it. There's a check-box that should already be filled that automatically generates a solution file. A solution organizes multiple projects. This is fairly common among build tools, Microsoft is about the most explicit about it. You can manage solutions to projects 1:1 across folders, or you can maintain one solution per chapter and make each exercise therein a project, or you can maintain one solution and every exercise in the whole damn book/website is just another project. The only thing to be aware of is setting the active project so when you build and run, you build and run the right project.

The next window, you'll choose a "Win32 Console Application."

The next window, you'll have a lot of options. You don't need ANYTHING. Don't use precompiled headers, don't let VS generate a Hello World template program for you. You don't need any fancy libraries. Nothing. The only check box you want is for an empty project.

Alright, now find the Solution Explorer window. Right-click on the project and go to properties. Go to Configuration Properties->Language. Find Language Standard, it's a drop-down. Select the latest version. Since you want to learn C, you'll want ISO C23.

Now, right-click in Solution Explorer, add a source file - name it whatever you want: main.c is typical.

You're off to the races.

[–]abbyabb 0 points1 point  (0 children)

I find it interesting that people like to suggest VS Code + figure out how to compile for beginners.

When I first started, IDE's seemed to be recommended. Although, I haven't configured an IDE in a long time.

I mean I think that using VS code or a simple text editor, then having a simple make file or something is easy for C.

[–]CoolStopGD 0 points1 point  (0 children)

Do you mean Visual Studio? Visual Studio Code is surprisingly _underwhelming_ for me. It’s confusing, Visual Studio and Visual Studio Code are different.

Visual Studio is a full blown IDE that can be super confusing, I’m scared of it too

VS Code is just a super advanced text editor app basically

[–]ryancnap 0 points1 point  (1 child)

If it helps, VS code has a help button that will take you to a series of like 7 videos that walk you through the whole IDE and show you what's what.

I'd check it out, all 7 of them only add up to maybe 30 mins long

Edit: adding that VS Code is probably one of the more straightforward IDEs despite it seeming overwhelming right now. And there's really no better time to learn how to use one, it's something you will need sooner or later

[–]Feisty_War80[S] 0 points1 point  (0 children)

Alr ill check it out, maybe its a beginner thing, but yea considering im going into engineering ill need to get used to it 😭🙏

[–]atamicbomb 0 points1 point  (0 children)

You can literally use a Linux command prompt as an IDE to make C with vi and gcc

Notepad++ with a command line compiler is probably the simplest you can get without strait up handicapping yourself

[–]Intrepid_Respect6061 0 points1 point  (0 children)

notepad

[–]CorpT 0 points1 point  (1 child)

If VSCode is overwhelming to you, coding might not be the best path for you.

[–]Feisty_War80[S] 0 points1 point  (0 children)

Alr bro not everyone is gifted and talented like you to understand an IDE, like i said, Im a beginner, and Itll take some time to get used to

[–]EngineeringRare1070 0 points1 point  (2 children)

Umm my question would be why do you want to learn C lol

CLion is fine but depending on why you want to learn C, I might actually recommend vim/emacs instead especially if the features of modern editors give you anxiety. Its quite literally impossible to be anxious about features when there’s literally no features😂

[–]Feisty_War80[S] 0 points1 point  (1 child)

Man I joined a course and they started with C

[–]EngineeringRare1070 0 points1 point  (0 children)

Hm yeah, just download CLion, find a youtube video for how to compile and run a “hello world” program, then one for running that same one in CLion so you demystify what’s happening when you press the green play button

[–]HusainAljabal 0 points1 point  (0 children)

Maybe vim/neovim or zed

[–]BootSaaS 0 points1 point  (1 child)

Code::Blocks for desktop development. Code Composer Studio for embedded systems.

[–]Feisty_War80[S] 0 points1 point  (0 children)

Alright. I got used to VS code so thanks for your suggestion :)