Learning C/C++

Hello Anons.

I'm a high school student that knows a good bit of Java and my Computer Science teacher is proposing that I do an Independent Study project with her next year to learn C/C++. I was wondering if you had any suggestions on projects I could work on as a Novice/Amateur Programmer. I'm still a noob and using Korora with the Code::Blocks IDE, does anyone have suggestions on IDEs that I could use apart from this? Any viable help would be appreciated.

- user

Other urls found in this thread:

codelite.org/
faculty.euc.ac.cy/scharalambous/csc131/books/C book 1.pdf
twitter.com/NSFWRedditGif

acme or emacs
Try translating things you've written from Java into C. Troubleshoot when things inevitably go wrong. Repeat.

QtCreator is a much better IDE than Code::Blocks, in my experience. It can parse files better and faster, honestly. But both should work nicely, anyway.

I like QtCreator with the beautifier add on and setting it up, basically, not stock.

a notepad is not an IDE m8
that's not a project, that's just refactoring code

That's not what refactoring means. And taking some Java shit and trying to optimize the hell out if it in C is a good way to learn the differences.

I second this. QtCreator is the best GUI IDE I've used.

And don't let the name mislead you, you don't need to touch Qt at all (... the code, that is; of course the IDE does use Qt) and it works with CMake, so you don't have to use QMake either.

You can find write another chan :^)

But seriously, if you do, there's a lot you can do especially if you'll avoid external libraries and implement the stuff yourself.

>find write
Proofreading is for faggots

I'm also a highschooler and take it from me: don't use an IDE, get Linux, Atom and use the terminal and GCC. It makes things easier in the longrun.

I suggest you unlearn your Java dependency on "make everything" IDEs and use something simple like geany, but use gdb/valgrind on the side.

...

I use Linux with GCC, Clang, LLVM, QtCreator. An IDE is really handy, since it uses everything in one. QtCreator even has support for GDB and Valgrind.

See my previous post loving it :^)

That's also the downside to IDEs, it makes it hard to swap out bits you don't like without writing your own plugins.

Or you can go into QtCreator's plugins and enable disable the ones you want don't want :D

...

There is only so much you can do with plugins.

Using GCC+GDB, Clang, LLVM, Valgrind, CMake... I don't see how that's bad, honestly. IDEs are meant to make things easy.

The core problem with IDEs is they usually only support one language well. Unless you are a streetshitter Java developer you will likely find yourself using several languages. It's much easier to use tools and methods that work on all languages, and so devs often migrate away from IDEs.

Emacs is a notepad the same way that a computer is a calculator.

If you want to pretend we're still in the 80s then sure, use emacs or VIM but don't think you'll magically be better off compared to a good IDE unless you have a multitude of years invested in it. The function of a good IDE is to save time, provide better context to code, and easier options for debugging and refactoring.

If you're in Windows use VS, if you're in Linux then use QtCreator, CLion, or the myriad of other options available but avoid Eclipse like the plague that it is. Don't be a programming scrub, use modern technology to your advantage.

The only thing it has going for it is the debugger and that thing is not the best on the market

Have you ever used VS? It's a horrendous pile of crap.

...

What's wrong with Eclipse? I want to learn how to program and I decided to take C as my first languague, and my IDE being Eclipse in a Windon't machine.

Read the answer below first. With that said, I wouldn't recommend (Neo)vim or Emacs to someone learning a language because it's hard when you have to learn the editor on top of that. Just get a basic text editor for starters like they have been mentioned by others. For managing your project use Make, you don't need all of its features, a Make crashcourse for the very basics is enough for a beginner's needs.

How much of a beginner are you? You should at the very least have read through K&R C and done the exercises. If you haven't then that's your project. I worked through the entire book in less than a week, but I'm also older, more experienced and I turbocharged through it. You might need more time, but it shouldn't take up too much time.


Nonsense, unless it's some esoteric moon language there are guaranteed to be external tools and editor plugins that will give you all the IDE features you want without restrictions. I am using Neovim and I can build my project, run tests, run linters, have code completion. get feedback in the editor and I can run a debugger session or test my program in a terminal buffer (both at the same time if I open two terminal buffers).

IDEs have several problems. They take project management away from and hide everything behind magic. If you are forced to use a different IDE you will be fucked. If you want to write in a language your IDE does not support you are fucked. If you need a feature your IDE does not have you will be fucked. If your IDE has an update and old project setting become invalid you are fucked. Basically, IDEs work great until they don't and then you are stuck with magic.

There is nothing an IDE can do that regular Unix tools can't. That's why I say that Unix is my IDE. The only area where an IDE has the advantage is when you want to use graphical tools for laying out the user interface.

You're doing it wrong.

Please explain me senpai.

Play around with QuakeC, you faggot.

It only has 3rd party C library/compiler, what Microsoft provides is very stagnant, and it generally is inferior to what UNIX systems, which is where most things C happen nowadays, have to offer. They're basically big IDEs, written in C and from large part written to make writing more C easier.

IDEs are essential on Windows because Windows itself is not supposed to be good for programming; GNU/Linux IS the IDE.

OP here:

I've used emacs, but its going to take some getting used to. I've installed qtCreator and am going to start working on that. I'll order a copy of K&R C tonight. Thank you for the intelligent reply.


Slow down there buddy. Soon. :P

Don't worry about an IDE, if you like Code::Blocks, use that for now and worry about finding another one you like later. The important thing is you are comfortable with it while you are learning.

As for leaning C++, "Starting Out with C++: From Control Structures through Objects" by Tony Gaddis is pretty decent book IMO, and you can find it on libgen.

I hope this helps you.

This. Even the command line tools for coding on Windows are super shitty.

Oh, I do that too :)

Better

something like emacs will make you really perceptive. I did the stupidest shit for like a year before I stopped relying on crutches

I would prefer CodeLite at least in GNU/Linux.

codelite.org/

That thing is awesome, straight to the point and simple. Do like.

Geany
A bank/budget program.

user-kun wait!

I've been learning C by myself and K&R isn't good. Please get C Primer Plus (I've started on 5th edition) by Stephen Prata.
It's so much better.

Link: faculty.euc.ac.cy/scharalambous/csc131/books/C book 1.pdf

...

wew I never thought to try that
dank find freunde

A plain text editor where you can add/change/remove characters, a compiler chain, and a debugger.

IDEs will leave you brain-damaged if you start your programming career with them.

This, the MS toolchain kept me retarded.

It is if
1) You're not retarded.
2) You want to learn the language itself, not really how to use it.

This.
I do C++ for a living and all I ever needed is vim, zsh and lldb.

...

senior* oops

...

holy fuck rip 8ch

If you want to learn the language itself, simply take a Codecademy course and be done with it. You don't need a full blown book to learn syntax.

Learn how to use vim and install the needed plug-ins for C development.

You all are just as incompetent as OP. Googling some random FAQs and course/book advises on the net is a better thing to do than reading your petty bullshit.

IDE choice is not important when you learn a programming language. Learning what IDEs can do in general and how they can help you (with any language) is an independent topic.

IT specialists are expected to deal with new tools by themelves all the time. You should be able to make yourself familiar and work with any development environment.


Most of my CS teachers were women. They got me to read books on algorithms, sent me to programming contests, etc. You're just having personal problems.

were you taught programming at high school, or is your Microsoft Officeâ„¢ teacher just acknowledging that you are too advanced to learn that shit?

See


get a load of this guy

Learn to use testing frameworks like JUnit or googletest. Well designed code can be validated for an expected behavior. Being able to do this will practically guarantee a job without having a STEM degree.

He wanted to code, not be a bitch.

Hush, hush. We all love you.

Images are broken. Fuck

No actual programmer calls themselves an IT specialist. That's a term reserved for things like Indian call centers, help desks, troubleshooters, and supporting the machines actual programmers work on. Bitch jobs. At best it involves scripting, but since this is technically "programming" they often get mall cop syndrome.

She wants to fuck.

this