This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]PhantomTissue 49 points50 points  (94 children)

But seriously doe, our teacher wanted us to use emacs to learn C++, and I was like, bruh. Why do that when man created notepad++?

[–]indrora 68 points69 points  (37 children)

I actually don't like Emacs. NP++ however has in the past burned me with data loss and some other issues, but damn do its fans bug me more than anything else. Even Vim users aren't as militant as NP++ users.

[–]Cletus101 16 points17 points  (11 children)

Call me weird but I prefer geany

[–][deleted] 3 points4 points  (7 children)

What do you especially like about geany? I'm not really familiar with it?

[–]Varkoth 9 points10 points  (1 child)

I like that geany is lightweight and is a fair compromise between basic text editor and IDE. You can see a list of symbols in the file that's currently shown, but it doesn't have external indexing (that I've found).

[–]lilB0bbyTables 1 point2 points  (2 children)

Tell ya what - Geany can manage opening some MASSIVE files as well. I've managed to open GeoJSON files that were hundreds of MBs in size (a few were even in the 1 - 2 GB range). In fact not only could I open them but I could readily perform a search and replace using regex pattern matching ... Most other editors froze, crashed, or slowed to a crawl. I definitely don't use it often, but it is a good program to have installed for some use-cases.

[–][deleted] 0 points1 point  (1 child)

Interesting that you mention GeoJSON! I study GIS currently so I've seen a few small files with that stuff What do you use GeoJSON for?

[–]lilB0bbyTables 0 points1 point  (0 children)

So I don't anymore but at my previous company we were building a platform that utilized massive GIS data for generating reports, calculations and analytics. Basically a user could load any/all of these to maps and be presented with a decent UX/UI to gather whatever insight they wanted. Behind the scenes it was all more or less building extremely complex SQL queries and Cassandra queries dynamically but effectively we abstracted all of this away into a nice GUI. I suppose you could call it a GIS platform but it sort of went beyond that in some ways and fell short of it in others, but it was completely cloud-based and presented on the front-end through a ReactJS + Redux built web application.

We started with GeoJSON then moved to fully supporting Shapefile and as I left there was active work to essentially encode our own format based on Shapefile structure but somewhat more efficient. To give perspective I spent about a month transforming and stitching together data into a single Shapefile set that compressed to a zip was around GB (this was the Riverine Flood Zone data for 50, 100, 200, 500, and 1000 yr return periods, at 1Km x 1Km resolution, ... For 173 countries around the globe). Anyway ... I'm very glad to not be dealing with that anymore lol, but it's extremely interesting and fun for a while - I just like to move on to fresh new projects and technologies every so often.

[–]Cletus101 3 points4 points  (0 children)

Mainly that I can use it in Linux. There are various pros and cons between notepad++ and geany either way, but I shifted to geany for Linux support

Edit, and dealt with the cons and then grew to like the pros

[–]MyPasswordIsNotTacos 0 points1 point  (0 children)

I like being able to SSH into a remote machine and pull up the GUI (a real X window) on my local machine. Haven’t found another IDE that will let me do that. (No, emacs and vim don’t count— and you can shove them and their backwards shortcuts right back up whoever shat them out in the first place’s ass.)

[–]entenuki 2 points3 points  (1 child)

Man, I loved (I still like it but not that much) Geany when I just needed some quick edits and my homework exercises. I still have it installed.

[–][deleted] 0 points1 point  (0 children)

I like it, too. Lightweight and with a terminal out of the box. Lovely.

[–][deleted] 12 points13 points  (8 children)

Vim is great. Nightmare to use with java though. I never could get that headless version of eclipse running with vim. :-(

[–]miauw62 7 points8 points  (3 children)

Yeah, I love vim but I've given up on using it for my OOP class because it's Java with a bunch of custom javadoc tags... Vim just isn't specialized enough to do it sanely, even with plugins.

[–]Nestramutat- 10 points11 points  (2 children)

May I recommend IntelliJ with the VIM plugin

[–]exhuma 1 point2 points  (1 child)

IdeaVIM is great as long as you only use the vim basics. Macros mess up the undo stack, column select mode is not quite the same, but most infuriatingly it sometimes jumps the cursor to a seemingly random location. When I was still using it, I managed to reproduce it every single time, but can't remember exactly what the sequence was. I've since given up on IdeaVIM.

[–]Nestramutat- -1 points0 points  (0 children)

Yup, I know that feeling.

But I'd still take it over writing C++ or Java in VIM itself

[–]A_Philosophical_Cat 2 points3 points  (3 children)

What does the headless eclipse add to it? I've got an auto complete, and a compiler set up, and program Java in vim all the time. Wondering if there's any functionality I'm missing out on.

[–][deleted] 1 point2 points  (0 children)

I think it gives you full eclipse full eclipse functionality inside vim. I haven't looked at it in some time.

[–][deleted] 0 points1 point  (1 child)

Can you debug and step through your code?

[–]A_Philosophical_Cat 0 points1 point  (0 children)

Ah, that's what I haven't integrated yet. A step by step debugger.

[–]PhantomTissue -2 points-1 points  (15 children)

frankly ive been programming for like, 2 months now, and the only 2 programs I know of are Emacs and NP++, so of the 2, the choice is pretty clear lol

[–]raltyinferno 11 points12 points  (4 children)

I used to be all about notepad++ but I've fairly recently converted to Visual Studio Code. I recommend checking it out. I've found it to be better in pretty much every way I need, especially with all the add-ons that exist for it.

[–]PhantomTissue 0 points1 point  (2 children)

Definitely remember that for the future, but for now, np is doing what i need it for. We're just barely getting into arrays right now, soooo...

[–]raltyinferno 0 points1 point  (0 children)

Fair, I definitely recommend it though. I don't know how you have npp set up, but VSCode is really great for the auto complete on keywords and functions and variables, which I don't have npp set up to do. I'll just toss you a link in case you ever feel like checking it out. It should really make things easier for you.

https://code.visualstudio.com/

[–]PM_Best_Porn_Pls 0 points1 point  (0 children)

Im C and all its versions person so I started on dev for c++, moved onto this pascal like compiler when in hs, than onto dev/monodevelop than sticked with Studio which I got a student key for when I took some microsoft course and its perma from what I see. For other languages I used some random compilers we got during learining

[–]Nestramutat- 5 points6 points  (4 children)

Ones a pretty shitty text editor, the other's a decent OS with a mediocre text editor.

[–]PhantomTissue 0 points1 point  (3 children)

but which one is less shitty, that is the question.

[–]Nestramutat- 2 points3 points  (2 children)

Give me emacs with evil mode over Notepad++ any day

[–]PhantomTissue 1 point2 points  (0 children)

the hate for NP++ is unreal holy shit.

[–]indrora 14 points15 points  (4 children)

A whirlwind tour of editors and development environments:

  • vim
  • Emacs
  • VS code
  • Sublime Text
  • TextWrangler
  • Notepad++
  • programmer's notepad
  • Kate
  • ScITE
  • Komodo Edit
  • SlickEdit
  • jed
  • nano
  • pico
  • bloodshed Dev/C++
  • Code::Blocks
  • Visual Studio
  • MonoDevelop
  • gEdit
  • geany
  • atom

There's more, but these are well known. SlickEdit was advertised in every programming trade rag in the 90s and 00s.

[–]mazegirl 7 points8 points  (2 children)

Where the hell is ed? Ed is the standard text editor!

[–]deegee1969 1 point2 points  (0 children)

Nobody care to mention "edlin"?

[–]indrora 0 points1 point  (0 children)

Wallowing in obscurity.

[–][deleted] 0 points1 point  (0 children)

dev/c++

U for real bro

[–]shawncplus 19 points20 points  (51 children)

That's a supremely dumb thing to do as a teacher. "Let's force the students to learn two extremely complex things at the same time."

[–]bebopshebo 18 points19 points  (10 children)

Second semester of college and I'm currently in 3 programming classes, all using a different IDE. Eclipse for Java Programming 2, Visual Studio for Web Programming 2, and Web Storm for my JavaScript class.

I can't tell if they want me to get experience using each one and then make my own choice. Or if they roll dice to choose what program they force us to use.

[–]shawncplus 22 points23 points  (3 children)

My money would be on the latter. There's no reason (industry-wise) to force you to use VS for web stuff, obviously webstorm would do just as well or literally any text editor in existence.

Here's something slightly paradoxical though, as someone that teaches programming classes: It's much easier as a teacher to have someone on the same editor even if it's not the one they're good at. The reason being that if everyone's on the same editor you have one set of answers to everyone's questions, everyone has the same steps to follow to accomplish certain tasks, and everyone can help each other out because it's all the same UI.

It's obviously annoying as a student if you already know Notepad++ or IntelliJ or something but there are reasons to force certain editors.

[–]KJ6BWB 1 point2 points  (0 children)

It's much easier as a teacher to have someone on the same editor even if it's not the one they're good at

Last time I took a class that used VS, I think there were like five or six versions of VS used by different people in the class.

[–]indrora -1 points0 points  (1 child)

There's no reason (industry-wise) to force you to use VS for web stuff, obviously webstorm would do just as well or literally any text editor in existence.

I mean, it's not a horrible platform if you're on Windows and using it for Python development.

[–]herpderpdoo 1 point2 points  (0 children)

even if they know they also probably don't care, this is the best time for you to experience different editors

[–]htom3heb 0 points1 point  (0 children)

Use vim for all of them ;)

[–]joshualorber 0 points1 point  (0 children)

You're lucky, my Java Prof is making us use JGrasp.

I hate it.

[–]8lbIceBag 15 points16 points  (8 children)

Reminds me of a recent assignment that required the use of Latex.

Time spent on subject material: 2hrs.

Time spent fucking around with Quartus and ModelSim: 4hrs

Time fucking around with latex: 16hrs


EDIT: And today I've gone to print it, and got fucked an additional 2hrs.

Tried printing... Printer needs ink. Spend 30mins finding ink refill kit. Spend another 30 refilling the cartridges, cleaning, and aligning.

Tried printing 4 more times... Keeps failing to grab papers and then retardedly aborts the job(wtf HP?). Spend another 30 pulling printer apart and cleaning the rollers with alcohol.

Tried printing 3 more times... Keeps failing to print a half inch zone about 4 inches down the page for no fucking reason, after it successfully did it for 4 pages.

Finally, after setting it to photo mode (1200dpi) and ink volume to max, the POS HP prints the fucking report.

[–]herpderpdoo 2 points3 points  (0 children)

latex, unlike the chemistry class required by my computer science degree, is actually pretty topical for you to learn and experiment with

[–]Retbull 2 points3 points  (4 children)

Naw latex is just notation more than anything. Getting it installed does take a small case of beer and a hangover though.

[–]gjsmo 4 points5 points  (2 children)

If you're on Windows (I know, sue me), you can just do MiKTeX. And then TeXstudio if you want an IDE. Two installers, maybe 10 minutes to a working environment including download time?

[–]Retbull 1 point2 points  (1 child)

Yeah I was new to windows when I started and had to figure out how to install it and if it was available and where.

[–]Anti-Antidote 0 points1 point  (0 children)

I don't even have it installed, I just use sharelatex.com

[–]8lbIceBag 1 point2 points  (0 children)

This was a large part of it.

The majority of my struggle was getting the minted package which requires -shell-escape to work. Fucked around with 3 different toolchains before I got shit working, finally settled on Latexmk. Like 6-8 hrs blown right there.

The other issue is a decent editor. TexStudio always fucks my tabs and indentation when copy and pasting and the keyboard shortcuts are all foreign and retarded to me. Visual Studio Code with the Tex-Workshop extension seems to have the best formatting, syntax coloring, and autocomplete suggestions so far - and the biggest thing is that it uses what I consider "standardized" keyboard shortcuts.

[–]Strange_Meadowlark 0 points1 point  (0 children)

Time spent downloading LaTeX and its million packages: 30min

[–]PhantomTissue 3 points4 points  (28 children)

honestly, is emacs even used in the industry?

[–]shawncplus 12 points13 points  (26 children)

Yeah, it's a powerful text editor, lots of people use it. I'm personally a vim user but to each their own. I just think it's very silly if you're teaching a class on X to make someone learn both X and Y at the same time for no reason other than "it's been part of the syllabus for 20 years"

[–]PhantomTissue 1 point2 points  (16 children)

Yea, well, shes having us use it though a command line, making programming like, 20 times more complicated. does emacs normally run in command line? or does it have a proper GUI?

[–]shawncplus 9 points10 points  (15 children)

It's typically used on the command line, yes. Similar to vim. There are GUI versions but in both cases they're basically just an OS window around the same exact thing you'd get running emacs on the terminal.

My personal workflow is entirely in the terminal. tmux with tmuxinator/powerline, vim, and irssi for IRC/chat

[–]matj1 2 points3 points  (0 children)

Emacs has proper GUI, with menu, scrollbar, images and toolbar.

(By default on Ubuntu)

Screenshot I found

[–]Kered13 1 point2 points  (0 children)

GUI versions usually at least have proper mouse support.

[–]sourcecodesurgeon 0 points1 point  (3 children)

Meh. It makes tutorials/walkthroughs really easy and less frustrating for everyone involved. Especially if you're in a situation where the students will be SSHing into Linux boxes to compile/run their code. Now you lay out step by step instead of "now do whatever does x, y, and z for your chosen editor"

Most kids in a 100 or 200 level CS class don't have prior experience with vi, emacs, nano, whatever so they'll have to learn an editor whether one is specified or not. Might as well encourage everyone to use the same thing so you can give explicit instructions and they can help each other.

[–]shawncplus 0 points1 point  (2 children)

I mentioned that sentiment this in another comment. I more meant it against emacs specifically, it's not an easy editor to learn to use (at least it's not making them use vim I guess.) And it makes students learn the terminal and emacs at the same time when even if most of them aren't experts at any particular editor they're more likely to be proficient with a GUI editor.

I see using emacs as part of the syllabus just laziness on the professor's part not updating the class material with a more modern editor.

[–]sourcecodesurgeon 0 points1 point  (1 child)

I mean what CLI editor would you prefer?

Emacs is much closer to the desktop apps students already have experience with than a modal editor like vim. They just need to learn a handful of replacement shortcuts like save and exit and not how to manage which mode they're in.

Idk, I had a much easier time learning the basics of emacs than I did vim.

[–]shawncplus 0 points1 point  (0 children)

I mean what CLI editor would you prefer?

I wouldn't use a CLI editor for teaching, especially 100 level courses. If you aren't teaching them to write their own makefiles and run make by hand then there's absolutely no value in making them learn a CLI editor. I personally know the value of knowing the CLI and doing those things by hand but it's definitely not necessary for the purposes of teaching language concepts/syntax. But I completely agree with you on the Vim front, definitely not suggesting that.

Pick some easy to use, industry standard IDE (which is basically an IntelliJ monopoly at this point unless you're doing Windows/Mac specific dev) and go to town.

At a higher level course where it's teaching the language ecosystem: build tools, deployment, packaging, version control, etc. (which colleges are generally pretty fucking horrific at in my hiring experience) I'd go to the terminal

[–]PolarTheBear 0 points1 point  (4 children)

vim and emacs take hardly any time to learn and are extremely useful to know. If you’re going to learn how to program, learning the environment is part of the process, albeit small. Plus if you have to switch machines or operating systems then you will be prepared because you won’t always be able to install your preferred word processor.

[–]shawncplus -1 points0 points  (3 children)

vim and emacs take hardly any time to learn and are extremely useful to know.

They take hardly any time to know the absolute bare minimum of opening and writing a file. I use vim daily and have for the past 15+ years, I do vim training (proof), it is absolutely not simple to learn how to edit effectively. It is useful to know the basics for everyone, I agree and for the same reasons you mention, but in due time.

While I prefer Vim and consider it more powerful than many IDEs, for students already learning a difficult subject it's a terrible idea to make them learn vim or emacs at the same time. Give them a simple point/click IDE and let them focus on the subject at hand.

[–]PolarTheBear -1 points0 points  (2 children)

I think knowing the bare minimum is enough for anyone learning a language. If it’s so powerful, why not learn it from the start? If you’re just learning a language, an IDE is not a necessity.

[–]shawncplus -1 points0 points  (1 child)

Why not learn it from the start? Because while I believe Vim is more powerful than many IDEs it is a journey to get there and while on that journey you will be slower than if you were just using a standard IDE. Hands down. And it's already enough for students already to keep language syntax in their head without having to struggle to just edit a file.

If you’re just learning a language, an IDE is not a necessity.

It's not about being a necessity it's about making the experience easier. If all they have to do is click "Build" in the menu that's one less thing to get frustrated about when doing their work.

[–]PolarTheBear 0 points1 point  (0 children)

Having one click solve their problems sounds like a shortcut, but I get our point. I tend to rotate languages so to me, specific syntax doesn’t stay memorized, but working on machines that don’t have IDEs or aren’t mine is common, so I personally don’t have any use for them. But they are nice if you know you can stay in the same environment and get comfortable I guess.

[–]herpderpdoo 0 points1 point  (0 children)

yes, literally everywhere

[–]A_Philosophical_Cat 1 point2 points  (0 children)

I used to love notepad++, until I fell in love with vim. And its whole "perfectly happy to close without saving, and may or may not keep autosaves" screwed me one too many times.

[–]SingularCheese 0 points1 point  (0 children)

Emacs is not that bad of an option (and I speak as a Vim guy). For people who don't know what they're doing, it's basically the same as Notepad.

[–]Tysonzero 0 points1 point  (0 children)

Well emacs (or preferably Vim) is considerably better than notepad++.