[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

C++ Programming IDE

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 47
Thread images: 5

File: 200px-Greek_uc_Omega.svg.png (3KB, 200x200px) Image search: [Google]
200px-Greek_uc_Omega.svg.png
3KB, 200x200px
Hello. It is summer and i plant to learn C++ as it most easily resembles java (something i am used to) and tends to have the greatest flexibility between systems (of windows because fuck mac, but i digress). I was wandering if you guys could lead me to the best C++ IDE. Please include features it may have that other IDE's don't have. I don't have any preferences besides being user friendly and having a built in compiler.
>>
>>60518429
MSVS
>>
I like codeblocks.
>>
>of windows because fuck mac
Visual Studio, since you don't seem to be interested in truly portable code
>>
>>60518429
>Hello. It is summer
>muh windows
oh yes it is
>>
>>60518429
get cygwin, install vim and g++ and dont become a cia nigger oh shit too late
>>
>>60518429
Visual Studio if you are on windows, CLion if you are on Linux and are a student. CodeBlocks is pretty mediocre, but it is gratis and cross-platform
>>
>>60518429
I use vim but I do mostly embedded development and every time I try an IDE for that it ends up being unstable crashy trash and doesn't give me enough configurability over my build.
>>
>>60518933
>embedded development
tell me more about this "embedded development"
>>
>>60518709
do you mean MSVC?

>>60518748
sounds nice, might try it.

>>60518769
I like portable code, i just dont like developing on anything other than the cheap and robust windows PC (TM)

>>60518800
>Hello. It is summer
>muh windows
>oh yes it is
what did you mean by this?

>>60518857
>gratis
what?
>cross-platform
you mean it can run on multiple platforms?

>>60518819
>cia nigger
a fan of Terry A.D.? Small world...

>get cygwin,
What do you think i am, a basement dweller? Probably but that's besides the point, i don't plan on wasting my time on Linux, i see no advantages compared to the robustness of windows. I may be wrong but i'm probably not wrong.
install vim and g++
vim seems useful if i am programming with multiple different languages across multiple OS'
g++ seems useful when i suppose one is suppoesed to convert C++ code into a .exe.

Let it be said, i am an inexperienced NewB and as such have no clue what half of these actually do.
>>
>>60519497
>do you mean MSVC
No, I mean MSVS - visual studio, you don't necessarily have to use MSVS in order to compile using MSVC.
>>
>>60519090
What do you want to know?
Embedded development is writing code for microcontrollers embedded in a {whatever}. Typically you develop the software on a PC and use a compiler that targets the microcontroller to produce binaries that you then download onto the microcontroller and run.
Our platform consists of two modules that talk across a wireless link. One module runs a Cortex M4 (STM32L443@80MHz, 64KB RAM, 256KB flash) and the other runs a Cortex M7 (STM32F745@216MHz, 384KB RAM, 1MB flash.) So we have more resources to work with than very small systems like MSP or PIC etc but we still do have resource constraints. Due to the limitations it's helpful to have a high degree of control over build flags, linker scripts, etc. IDEs expose all of the necessary things needed for this control but they can make it tough to actually get right since their menus and stuff sometimes don't map 100% onto the functionality exposed by the compiler.
Our own code is written C++, though much of our base infrastructure is C wrapped in thin C++ wrappers. The C code is all third party stuff: FreeRTOS, STM32 HAL (this is fucking trash. use the ll drivers if you ever come across this, or just read the reference manual and write your own), a few other bits and bobs. We use CMake to build for ~reasons~ I would not suggest using CMake as a build system generator if you need tight control over link order of dependent libraries since CMake makes this a bit of a challenge.
We use C++ over C mostly for templates, memory lifetime management (i.e. destructors, std::unique_ptr), and placement new for system initialization. C can adequately perform the third thing (with a little more verbosity) but the first two are not really something the language handles very well, especially automatic destruction/tying behaviors to scope exits.

Hopefully this provides a bit of info!
>>
>>60518429
CLion
>>
>>60519521
>MSVC is the abbreviation of Microsoft Visual C
>MSVS is microsoft visual studio
what is the difference exactly?
>>
>>60518429
>as it most easily resembles java (something i am used to

You're going to write horrific C++. Just kill yourself now.
>>
>>60519580
That VS is an IDE and VC is a compiler? Are you new to this whole programming thing or something?
>>
>>60519564
>microcontrollers
what are those?
>use a compiler that targets the microcontroller to produce binaries that you then download onto the microcontroller and run.
sounds like bull shit. I may not be a computer expert (at least not yet) but i do know that compilers already convert the code into binary, which is then run on the central processing system, not a 'microcontroller'.
>Our...
who are 'we' exactly?
>M4, M7;
processors, dont know what they have to do with much of compiling and suchforth.
>>the rest of your post
you lost me. i am a beginner so i have no clue wtf you are talking about. It will take me at least 50 google seraches and 20 additional wiki searches to know wtf is going on. Maybe you could simplify in laymans terms, or explain wtf is going on?

>Hopefully this provides a bit of info!
I feel like a learned something, yet dont know what wrapping is, what MSP or PIC is, and dont know wtf all this is. You dove too deep for a beginner like me.

>>60519647
Yes. What gave it away?

>>60519587
I would but i'm just not feeling it today, sorry.
I am trying to learn, i know C++ tends to function differently from Java, don't know how yet.
>>
File: 1479250128147.jpg (97KB, 800x800px) Image search: [Google]
1479250128147.jpg
97KB, 800x800px
>>60519564

You seem like a cool guy, anon.

As a fellow embedded dev, I was wondering if you also use the STL in your resource constrained environments? Most people I've worked with have implied that it's a big memory / perf hog and therefore a no-go. I felt that it wasn't that bad, as long as you don't write garbage (e.g unnecessary copies through not using (const) references, copying instead of moving, etc.)

Since I'm still a (last year) student, is C++ widely used in the embedded field? I see a lot of people shitting on it when it comes to embedded dev.
>>
>>60519731
>What gave it away?
Not knowing basic shit probably.
>>
>>60519759
>basic shit
basic shit to you is complex to me. Don't fret though, i am a fast learner if you give me the resources to know what is going on. I have no formal computer sicence education though so don't expect that i know things you see as second nature.
>>
File: man laughing.jpg (6KB, 264x191px) Image search: [Google]
man laughing.jpg
6KB, 264x191px
>>60519731
>i am a beginner so i have no clue wtf you are talking about.
>sounds like bull shit.
>>
>>60519731
Its not bullshit, YOU are bullshit.

Go learn how this shit actually works before you make completely uninformed and false statements please.
>>
CLion
fuck those microshills
>>
>>60519779
Formal CS education is bullshit for the most part.
>>
>>60519779
No offense, but this is the last place on the planet you want to ask for an advice. Your best bet is grabbing a book on C/C++ and staying away from 4chan. For an IDE just download Visual Studio Express, it's the least painful option.
>>
>>60519846
>it's the least painful option.
what makes Visual Studio 'less painful' than other IDE's?
Is Code-blocks better or worse comparatively?
>>
>>60519808
>Go learn how this shit actually works before you make completely uninformed and false statements please.
fair enough.
>>
>>60520026
>what makes Visual Studio 'less painful' than other IDE's?
Holding your hand every step of the way, also Intellisense.
>Is Code-blocks better or worse comparatively?
I've seen my uni pals using it when we were first years, most migrated to VS.
>>
>>60520097
>Intellisense
like sex to my ears.
>most migrated to VS.
why though?
also, what makes code-blocks worth looking into?
>>
>>60520138
>also, what makes code-blocks worth looking into?
I don't fucking know. Probably because it's free and cross platform. Just figure it out for yourself. I'm out.
>>
>>60519497
found the newfag
>>
File: 1410105911134.jpg (10KB, 251x242px) Image search: [Google]
1410105911134.jpg
10KB, 251x242px
>>60519497
>>
>>60518429
Qtcreator is pretty good even if you don't use qt stuff
>>
>>60518429
Nigga I suggest you learn English before C++.
>>
>>60519739
>stuck developing stuff in the defence industry
Not him but it's C, C++ and home rolled languages mostly. I feel everything not web dev pays shit nowadays so I wouldn't do embedded for the pay. The big giants know how pay shit salaries and still get people working for them. A web dev makes almost twice I make but that's probably because businesses haven't yet figured out how to press prices.
>>
>>60518429
> i plant to learn C++ as it most easily resembles java
good luck, you're gonna need it

>I was wandering if you guys could lead me to the best C++ IDE
before you get to think about what IDE you'll use, you have at least a year of pain ahead of you
>>
>>60519497

I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.
Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
>>
>>60519731
Ah, gotcha. Well, the quick advice then is:
If you are on Windows then Visual Studio. If not, as others have said, CLion or CodeBlocks are adequate choices. Another option I've heard folks talk about is qtcreator.
>>
File: 1466308885423.png (676KB, 798x770px) Image search: [Google]
1466308885423.png
676KB, 798x770px
>>60518429
>C++ as it most easily resembles java

hehe good luck
>>
>>60519739
Hi!
For STL I use a few pieces but I tend to avoid the containers (except for std::array) since I don't want to deal with/haven't looked at writing a custom allocator yet. Avoiding heap (re)allocations is a pretty big deal in embedded and STL containers with the default allocator can make that a bit tricky. One thing to avoid is `std::function`, since it does not support allocator override (as of C++17) because the standards committee realized it would be too difficult to implement (so I figure it's a similar case to the `export` keyword from C++03, which is a really neat story to research and read if you have the time.) To get around the `std::function` nonsense I usually use Sergey Ryazanov's "Impossibly Fast C++ Delegates" though this does not really allow for exporting lambdas out of functions so it doesn't serve *every* purpose std::function can.
I also use `std::copy` and `std::find_if` pretty extensively, though I am debating whether I want to use memcpy over `std::copy` for de/serialization since it is pretty easy to get `std::copy` wrong.
Otherwise, lots of little bits and pieces of stuff to help with the template metaprogramming I do for building memory maps of hardware and binding accessor policies to those memory maps.
I am really excited for concepts since I think they'll help enormously for error message readability, which is the #1 concern I have with using template metaprogramming in the workplace where you don't get to be as picky about your team as you'd like.
As far as pay goes I think you're going to see lower rates/salaries in embedded especially as an entry level than you would see in webdev or something (as the other commenter said.) A few years ago, for a bigger company, I was making $55/60 hr or something but I moved to a startup recently and took a significant pay cut. I think out of college for embedded shooting for ~70-80K salary is pretty reasonable. Don't tell the company your expected salary if you can avoid it.
>>
>>60519497
jesus christ you're new

code blocks is shit

you should probably just use visual studio if you're going to stick to windows. If you want something more flexible in the ecosystem use visual studio code with plugins for better C++

gratis means fucking free, as in no money

cross platform means there are clients for OSes other than windows dumbass

everyone is a fuckign fan of terry he's fucking plastered everywhere on the board

I personally use minGW so I can write portable code, and I use Atom because its free as in libre.

I'd suggest using minGW or some form of gcc, but you're probably too retarded to handle something well made.
>>
>>60519731
you can't fucking use google for a nanosecond to find out what a fucking microcontroller is you mongoloid? Ever hear of a fucking arduino? a raspberry pi? Fcuk you get off my board
>>
>c++ on anything that isn't Linux or at least Unix
>>
>>60519497
>>gratis
>what?
Gratis == Free as in $$$
Libre == Free as in FREEDOM

also lurk more newfag
>>
>>60519497
>i don't plan on wasting my time on Linux, i see no advantages compared to the robustness of windows.
kek is this bait?
>>
>>60520827
Doesn't have as much to do with business being unable to press due to figuring out a trick as it does sheer demand/supply in the field(s) in question. I went from embedded (aerospace), to web backend, and then to full-stack consulting.

The embedded devs just suffer from the fact that schools crank out tons of capable developers and there just aren't that many people needed to keep a big embedded operation going. It's not easy work, by any means, but it doesn't need an army of devs like you find in more advanced web environs.

The biggest upside to embedded; however, and the reason I left web to go into consultation, is that you're far more secure in your employment. Seasoned embedded devs don't get rich, but they're rarely let go and tend to cap off a decent career with good enough benefits. Web can fill your pockets early on but the dynamics of the industry make it a harsh mistress. Taking just a bit of time off for kids, elderly parents, etc. can put you in a really bad spot mid-life. My youngest daughter had a scarce with cancer and I fell behind. That really pushed me out of the running for advancement, even though I had otherwise been top for competency a while yet. So when the dust settled I took a lower paying spot consulting where the risk of dragging anchor in real life wasn't as big an issue since I could throttle my workload.

tl;dr: You gotta evaluate more than just the cash money to figure out which part of the industry you're going to want to be in. I can easily see a young guy who doesn't want a family thinking embedded is a waste of his time due to pay only compared to web, but if you value your time and a less frantic pace of advancing your toolkit and knowledge base, I'd say embedded looks pretty good by comparison (among other things).
>>
>>60518429
code blocks
Thread posts: 47
Thread images: 5


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.