5 ms·
Tangential: New to c++ dev on Linux after years with devstudio/windows. What do you guys recommend for a dev env for a guy like me (say on a mac). Thanks! Ed
by rottyguy 11y ago
Tangential: New to c++ dev on Linux after years with devstudio/windows. What do you guys recommend for a dev env for a guy like me (say on a mac). Thanks!
Edit: I see Jetbrains has CLion. Any good?
- blinkingled 11y agoCheck out QtCreator. It's for writing Qt based C++ programs but I'm fairly certain you can use it equally well for plain old C++ code.
- mkl 11y agoYes it works perfectly well for non-Qt programs. It's very good.
- VinzO 11y agoI agree, QtCreator is great and yes even for plain old c++ code. You don't have to use Qt framework.
- jtuente 11y agoMy favorite part of QtCreator is that I don't have to type that awkward arrow ->, it will convert my dots . for me when I'm working with pointers.
- Sir_Cmpwn 11y agoYears of visual studio w/C# on Windows, then moved to Linux here. I suggest you dive straight into the deep end, learn vim, and go in raw.
- rottyguy 11y agoAre there books and/or resources you could recommend? tx
- stkrzysiak 11y agoVim itself had a decent built-in tutorial, just launch vim and I think its the default prompt. People have gamified vim hot keys too, check out shortcut foo and Google 'vim' golf.
- farresito 11y agoHave you ever worked in vim? If you haven't, the way I learned the basics was by watching these videos: http://derekwyatt.org/vim/tutorials/ http://derekwyatt.org/vim/tutorials/ To get used to the hjkl keys, I would recommend you to download tetris and change the movement keys from the default arrows to hjkl and play for a week a little bit every day. I got used to very very fast. Some people recommend http://vim-adventures.com/ http://vim-adventures.com/ but I have never used it. vim has a few very interesting plugins that I recommend installing, especially if you are interested in working with vim every day instead of using it only through ssh. If you end up going with vim and like it, answer me and I will go over the plugins I like the most.
- rottyguy 11y agoWill definitely take a look at vim so would appreciate the guidance.
- farresito 11y agoThe first thing I would recommend you is to build the vimrc yourself. Forget about the huge github vimrcs available out there. Check them out and see if there are things you like, but build your own vimrc. The second thing is if you are planning on using plugins (which I recommend), use a plugin manager like https://github.com/junegunn/vim-plug https://github.com/junegunn/vim-plug. They make it extremely easy to install plugins, and updating them will be a breeze. vim is not for everyone. Some people enjoy using some vim emulation for their favorite editor. Just because using vim is very common in the Linux world doesn't mean you should. I still recommend that people get used to the keys. I would personally not install any plugins right away. I would get used to vim for at least 2 weeks and see from there what you want to do. That said, the plugins I've found the most interesting and helpful have been the following: NERDTree (shows your project's structure. Similar to what you would find in sublime or any modern IDE) NERDcommenter (allows you to comment/uncomment lines or groups of lines automatically) CtrlP (fuzzy search of files in your current folder or subfolders, or inside the current repository) ultisnips (snippets) vim-surround (allows you to insert parentheses, brackets, quotes, etc. around the selected area) auto-pairs (or something equivalent. Basically, creating the closing bracket, quote, etc. every time you open bracket, quote, etc.) vim-easymotion (this is a very interesting plugin. I would recommend that you check it out to get an idea of what it does. It's useful when trying to navigate around the screen) syntastic (syntax checker for multiple languages) tagbar (if you enjoy having a small summary of all the functions and variables in the current file, this is for you) supertab (vim uses c-p and c-n to complete words in insert mode. supertab allows you to complete with tab instead of c-p and c-n. If you are used to using tab in other editors, this will help you) vim-fugitive (quite nice if you are use git. Helps you comparing newer and older revisions, for example. You can open a modified file with vim, write :Gdiff and get the uncommited changes) youcompleteme (the best code completion tool available. Has very good context completion) vim-colorschemes (a collection of a million different colorschemes to try) vim-hybrid (my favorite dark colorscheme by far)
- on_and_off 11y agoCLion is definitely worth checking out. The JetBrains guys know what they are doing.
- merb 11y agoThe only things which they didn't solve is the hard GC pauses when developing really big projects or Scala. Mostly this happens on IntelliJ quite often if you are doing some work pauses while keeping IntelliJ open. This happens quite often on bad machines and nearly never on machines with a really good memory module / awesome ssd's. Still isn't easy to fix since they are working really hard to ensure performance on a lot of machines. Also that they support everything down to Java6 makes their codebase on some edges quite wierd. Also I don't get it why they use so many languages at once (Java, Kotlin, Groovy) and I think some parts are in C++ (fileWatcher, launcher, restarter, updater, fsnotifier)? (see: https://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community)
- vorg 11y ago> why they use so many languages at once (Java, Kotlin, Groovy) Kotlin is a JetBrains project. They're in the process of introducing Kotlin as a primary language for developing JetBrains applications, and Kotlin is still pre-1.0 release. As for Groovy, I think they want to replace it all with Kotlin code.
- merb 11y agoI've looked at Kotlin and I liked the design, too. I was just wondering why so many at once. But it would be great if they will replace Groovy at all. Still I think it's too early to support Kotlin at Enterprise Level. Also I'm in the transition to FP (Functional Programming) and I think Kotlin still misses some functionality around that. Edit: maybe I will use Kotlin to replace our JavaScript Stack (currently in Angular, but totally against any practice)
- on_and_off 11y ago>Also I don't get it why they use so many languages at once (Java, Kotlin, Groovy) and I think some parts are in C++ They seem to be mainly a Java shop. They probably use C++ for some performance intensive tasks where it makes a difference. Since they are creating Kotlin, they are starting to use it for their codebase as well. Their different IDEs seem to be built on the same java core, but with extensions in the target language : Python for PyCharm, c# for ReSharper, ....
- ohitsdom 11y agoVisual Studio Code looks promising, and should feel familiar to you.
- iends 11y agoVS Code is C#, JavaScript, and Typescript only.
- vblord 11y agoVisual Basic too
- tgibson 11y agoIt does have syntax highlighting for C++ and a list of other languages as well. But for the fuller experience you're right. Source: https://code.visualstudio.com/Docs/languages https://code.visualstudio.com/Docs/languages
- CmonDev 11y agoBut it's like a notepad at the moment though (no refactoring) - so any language goes?
- RazvanPanda 11y agoIt has code navigation for C#, find references, and many other cool things probably mostly provided by OmniSharp.
- RoboSeldon 11y agoAre you on Linux or on a Mac ? If you are on a Mac, you should definitely give a try to XCode it is, after all, the official Apple IDE. Not even close to Visual Studio, but not as bad (for C++ at least) as many people advertise. For Linux, Kdevelop seems nice, other Linux C++ IDEs: Eclipse, NetBeans, CLion. You should also probably try Vim and Emacs at least once, start with their included tutorials.
- toksaitov 11y agoI always wanted to know that from people with experience in Windows dev (and some on Apple platforms). What are the features that XCode doesn't have for C++ development compared to VS? Genuinely interested. Not familiar with VS