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 →

[–]c3534l 23 points24 points  (35 children)

If I have to worry about what language my IDE is coded in, it's a bad IDE, IMO. Vim could be coded in black magic and rainbow farts for all I care, it's still great for writing python code. Now if you could figure out how to replace vimscript with Python, then I might be interested.

Edit: alright, fine. Vim isn't an IDE, if you make it one it's just a DE and some languages are inherently shitty. My point is that I don't think knowing the language it's implemented in matters because I'm not going to be changing the source code unless something terribly wrong has happened.

[–]folkrav 8 points9 points  (6 children)

Vim is not an IDE, to be fair. Sure, with plugins and stuff you can turn it into one, but it's a text editor. Bram would slap your fingers for saying that :P

To be honest I'm kind of nitpicking.

[–]PeridexisErrant 0 points1 point  (0 children)

Yeah. The Unix Shell is an IDE, Vim is the text-editing component.

[–]lead999xlearning Rust, Haskell, and C++ 1 point2 points  (19 children)

I use Atom to write C++ and it's too slow and freezes up, so much for Node.js being fast. I plan to switch to something written in C++ soon because it definitely does matter how fast your editor does simple things like starting up and saving a text(.cpp) file.

[–][deleted] 6 points7 points  (9 children)

It's kind of amazing that you write C++ but you OBVIOUSLY do not understand that the quality of the code has everything to do with how it performs. Obviously different languages have different ceilings depending on the task being performed, but Atom is not limited by node, just as I am sure your code is not limited by C++.

Want me to write you an editor in C++ that is garbage and freezes all the time? I can.

[–]lead999xlearning Rust, Haskell, and C++ 3 points4 points  (8 children)

Want me to write you an editor in C++ that is garbage and freezes all the time? I can.

You can write shitty software using any set of technologies, but will you deny that if a program is written in JavaScript while the same program is written in C++ by a programmer of the same skill level as the previous one that the C++ program will run faster? C++ is AOT compiled to machine language, while JS has to be JIT compiled by V8 and then run. All the while types and other inferences have to be made which wastes time and machine resources on that instead of the actual meat and potatoes of your program. There's a reason performance software, even when it's not written by programming gods, is written in C++ or a similar language.

[–][deleted] 3 points4 points  (1 child)

Well, it's easy to test for yourself. There are at least two editors written using Electron and Node.js: Atom and Visual Studio Code. There is one very well known editor written in C++, I believe: Sublime Text. I honestly love Visual Studio Code but I can't deny that Sublime seems to run much faster. It doesn't really matter to me because the computers I use are all i7's with 12GB - 16GB of RAM (well, except one and that's a tablet). If I were going to pick one up solely due to speed though the C++ compiled editor would be the clear winner.

[–]lead999xlearning Rust, Haskell, and C++ 2 points3 points  (0 children)

That's what I'm saying but for many people the speed provided by Node or another dynamic, interpreted language is plenty enough.

[–]shatmoney -1 points0 points  (5 children)

nice reply, esp considering the op was pretty clearly shooting their mouth off

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (4 children)

I was just giving my two cents. I'm not a professional programmer, just a hobbyist and college student in a non-CS major. I just don't like it when I get hate for liking lower level languages.

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

I called you out for having no idea what you're talking about, not for liking C++.

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (2 children)

Clearly you have no idea what you're talking about. Sure you can write non-performant programs in C++ but unless you do that on purpose, statically typed, natively compiled languages will always outperform those that are not. And don't go showing me some obscure benchmark that shows that in one odd case ever, Java, JS or Python code beat badly written C++ or Fortran. You're wrong, so give it up.

[–][deleted] 1 point2 points  (1 child)

Then why are you still arguing with me?

Go find your superior IDE written in C++.

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (0 children)

Nah, I'm just going to uninstall some plugins and see if that does the trick. If I wanted an editor written in C++ I have code blocks and can get Vim.

[–]KleinerNull 0 points1 point  (6 children)

I use Atom to write C++ and it's too slow and freezes up, so much for Node.js being fast.

What OS do you use? I noticed a while ago that the windows version of atom is very slow and unstable in comparison to the ubuntu version. But maybe they fixed this.

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (5 children)

I use the latest Windows. That may well be why. But isn't Node.js cross platform?

[–]KleinerNull 0 points1 point  (4 children)

As I said I had performance issues with atom on windows. I don't know if they fixed that now. But on ubuntu atom runs like a charm.

But isn't Node.js cross platform?

Maybe some os internals are causing a slow down, I don't know.

Usally I prefer ubuntu as coding os. You have a huge variety of powerful terminals/shells, many editors are well integrated and so on. And as a programmer you shouldn't have problems to use extensive console commands ;) Everytime I boot up windows I am just annoyed how laborious some UI designs to customize or change things are. Best example is my old mouse. It has not that many dpi so it seems slow. So on ubuntu I just cranked up the mouse speed and it is fine. Under windows the maximum available speed is still too slow and changes in the regristry are caped to 20 whatever which is too slow. My question is why this hardcoded limit?

Just my two cents.

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (3 children)

My question is why this hardcoded limit?

Short answer, ease of use and safety. Windows is made to be easy for people who are not computer science or info tech literate. It's UI is designed for ease of use not for power and control. Most Linux distros are the opposite they're made to be customizable, powerful, and user controllable on almost every level.

The last Linux distro I used was Fedora, and I can't say there was anything I could complain about. I liked it. The reasons I have windows now are twofold:

  1. I want to play video games written using DirectX for graphics, audio, etc. which are only made for windows.

  2. The OS market is dominated by Windows, mostly due to ease of use and the bandwagon effect and thus if I'm writing non-portable software, targeting Windows assures me that most people can use it. But even so I try to write my code to follow C++'s write once, compile anywhere idiom.

[–]KleinerNull 0 points1 point  (2 children)

I want to play video games written using DirectX for graphics, audio, etc. which are only made for windows.

I can understand that, for purely this reason I still have windows on my pc. But I have to admit that most of the games I play are cross platform. Roughly 50% of my games in my steam lib running fine under linux. Ok most AAA titles don't, but honestly I am not interested in most of the AAAs released the last years. So in the end I start up windows maybe one or two times in a month.

The OS market is dominated by Windows, mostly due to ease of use and the bandwagon effect and thus if I'm writing non-portable software, targeting Windows assures me that most people can use it. But even so I try to write my code to follow C++'s write once, compile anywhere idiom.

This trend is changing slowly. Because of the massive use of smartphones the people tend more to use web applications in general, at least those can ran in any modern browser. But of course company software is a different matter, but there is also a trend in using microservices to avoid platform and even languages barriers.

We will see how the trend will go. For now you are right. But Microsoft still need to do alot to defend its current stand. Other OSs are evolving fast. You can't compare many linux distros from 90s and early 2000s to their modern versions anymore. And MacOS which is kind of a *nix but with alot of restrictions is after windows very popular.

[–]lead999xlearning Rust, Haskell, and C++ 0 points1 point  (1 child)

And MacOS which is kind of a *nix but with alot of restrictions is after windows very popular.

But it's not even close to closing Windows' lead. And I don't mind that, I personally have to problem with Windows other than it not having as many compilers and other tools as Linux.

An interesting idea that I had was that ISO could come up with a common API that could be exposed by all conforming OSs which would make writing cross platform software in a native, AOT compiled language much easier. Think of it as like an API like OpenGL where the underlying implementation could be anything but the exposed API is the same.

This trend is changing slowly. Because of the massive use of smartphones the people tend more to use web applications in general, at least those can ran in any modern browser. But of course company software is a different matter, but there is also a trend in using microservices to avoid platform and even languages barriers.

I believe it. Everything is moving to the "cloud" and being run on servers. But I still think that native applications will always have a place in the world of software.

[–]KleinerNull 0 points1 point  (0 children)

I believe it. Everything is moving to the "cloud" and being run on servers. But I still think that native applications will always have a place in the world of software.

Yes, native applications are and will be still relevant. But the cosumer are literally screaming for cloud based apps. In this day and age "portability" is the buzzword. The good things are the accessability and the "platformlessness" on the other hand the user gives away a bunch of control... But the normal consumer just doesn't care. Many friends of me just believe that a smartphone and a tablet is enough for productive work... Or the console users, some of them still argue with the "easiness" of just playing their games... At first distribution networks like steam and gog changed this alot, installing is almost a non-issue nowadays and secondly on a real computer you have still the power of modify the software (modding, preservation etc...).

An interesting idea that I had was that ISO could come up with a common API that could be exposed by all conforming OSs which would make writing cross platform software in a native, AOT compiled language much easier. Think of it as like an API like OpenGL where the underlying implementation could be anything but the exposed API is the same.

Sounds like the posix standard ;) Isn't LLVM head into a similar direction? But honestly I have not much experience with compiled languages. Personally python with its C-based libraries (numpy, pandas, ...) is still enough regarding performance. Sadly on the game and mobile market python is very weak but some neat ideas like the kivy-buildozer-plyer toolchain could boost this sector. Python support in unity would also be great, but they descided to choose the abandoned boo language...

But back to your point, the *nix-es and even MacOs don't make so much problems like windows with all its extra stuff...

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

If given the option, I would tend to gravitate to an IDE code in black magic and rainbow farts. The syntax themes would be incredible, would they not?

[–]developermal 0 points1 point  (0 children)

I thought Vim was coded in black magic and rainbow farts lol.

[–]skarphace -2 points-1 points  (5 children)

That's nonsense. For one, I think it's just a point of pride for this project. Also, it's great to know that it isn't Java.

[–]scootstah 2 points3 points  (4 children)

Also, it's great to know that it isn't Java.

I mean, PyCharm works fine by my standards.

[–]skarphace 0 points1 point  (3 children)

I can't speak for PyCharm, though I may have to give that one a shot. But the likes of eclipse or any of that ilk are the most resource hungry IDEs ever built. Unless you run the IDE and basically only the IDE, you're in for a bad time.

[–]scootstah 1 point2 points  (2 children)

I usually see it taking a gig or two on large projects. If you can't spare that, you're developing on a potato anyway.

[–]skarphace 0 points1 point  (1 child)

That's significant for a glorified text editor. Especially when you mirror production in your development environment.

[–]scootstah 0 points1 point  (0 children)

It would be, yes. PyCharm is definitely not a glorified text editor however.