This forum is in permanent archive mode. Our new active community can be found here.

Weekend coding

1192022242539

Comments

  • There's no joke I can make in this situation that doesn't also sound like a depressing truth.
  • My life is a depressing truth.
  • Don't you already have python installed on your Mac in your applications folder (I think)?
    You already have IDLE (the basic IDE for python in there).

    If you want specialised libraries then you look elsewhere.

    Or to get the latest releases download the package here.
  • Pycharm is pretty good, if you really want an IDE and not just a text editor. There's a free version too.

    Ant is a java thing.
  • For example, I just downloaded Xcode to futz around with Swift for giggles. I entered my apple id, and I was immediately experimenting in a "Playground". It was utterly pain free. "Here, install this. Done. Now get to work."

    So I thought I'd try out an IDE for python. You know, for the fourth or fifth time. What a fucking pain in the ass. About two hours later and I've finally managed to open a single .py file.

    Typing python in Terminal.app isn't exactly a bad first step (on a Mac). An IDE just adds a layer of convenience and utility, but also a layer of complexity that you don't necessarily need. Or find a tutorial.

    Do you have a particular goal in mind? That's what I always start with when learning a new language.
  • So yeah, why do I want to learn a new language? I don't! Python isn't new to me.

    I googled for the best or most popular or most whatever IDE, and PyDev seemed to come up most often. Why not try to get that working? Of course, you saying "Ant is a Java thing" is super helpful now that I clicked the "Run" button in Eclipse.

    Discovering IDLE is already installed right here on my laptop after spending hours trying to get Eclipse working is exactly the kind of thing that frustrates me. I tried it out and it is awful in so many ways. Does it have line numbering? If so, I can't find the setting. And the help search feature is broken, so I can't find out. Also basic mac keyboard shortcuts (like cmd-right taking the cursor to the end of the line) don't work.

    People who say "Everyone should learn coding" should understand that it isn't the coding that is hard. Coding is easy. Penetrating the layers and layers of non-coding busywork is what stands in my way of improving EVERY TIME.
  • LOLOL yeah welcome to every coders life.
  • Turns out PyCharm is exactly what I wanted. Thanks Mr Starfox.
  • edited July 2014
    I've written many a python script in notepad++. I wrote a basic EXT2 filesystem in gedit. You don't really need a fully integrated IDE. For what I do at work not working in Visual Studio for example would kinda be a pain but it ultimately makes my life easier. That's also a commercial piece of software.
    Post edited by MATATAT on
  • I know I don't need an IDE, but I wanted to try a good one. Any other software for any other type of task makes it as easy as possible for someone to try. With music software and video editing software and image editing software and novel writing software and sound editing software all the other really complex software? I NEVER have to jump through hoops like this. Never. It's unbelievable.
  • It's entirely circumstantial. If you want to deal with C# then just install Visual Studio and get to work. C, C++, and Python you might have an easier beginning time just using a text editor then compiling with the terminal instead of finding an IDE that automates that stuff. It's good to know in general anyway. Java has a pretty neat IDE made by jetBrains that I enjoyed when writing Java stuff. It's called IntelliJ IDEA.

    Setting up for phone development in Android was a pain in the ass. I think iOS is a little better and somewhat ironically WP8 has been the absolute easiest.
  • Why do you keep saying "I'll have an easier beginning time?" or "if you're starting out with python"? I've been using basic text editors and running them using the terminal (or just opening them with the python launcher) for the last four or five years I've been working with. Python.

    This my entire point. Even after five years, almost everything that isn't coding is still beyond me. But then when I look up any information about anything it presumes that, if I know 5 years of Python, loads of basic ancillary stuff is easy for me. And if I say that the easy ancillary stuff is too stressful for me, I'm told to "just try a text editor if you're starting out."
  • Well you're saying that the IDE is difficult to learn so people are saying don't worry about it because you're not really in need of one. If you're trying to learn about different IDEs then it's the same as learning any complex software. Other production suites are just as difficult to penetrate when starting out with them.
  • Now I'm a little confused.

    Of course, you saying "Ant is a Java thing" is super helpful now that I clicked the "Run" button in Eclipse.

    Apache ant is what I thought you were talking about. It's (mostly) for building java projects. Did you mean something like this guy?

    image

    That's generally "run the application in debug mode".
  • MATATAT said:

    Well you're saying that the IDE is difficult to learn so people are saying don't worry about it because you're not really in need of one. If you're trying to learn about different IDEs then it's the same as learning any complex software. Other production suites are just as difficult to penetrate when starting out with them.

    Who said anything about learning how to use an IDE? It's not about learning how to use it, just to download it and run it.

    Thankfully PyCharm just worked, so it seems like at least one tool is built for people who don't like jumping through hoops.

  • IDEs are no good. I've pretty much never had a good experience with them.
  • Apreche said:

    IDEs are no good. I've pretty much never had a good experience with them.

    It all depends on the IDE, although generally by "IDE" I typically mean "code editor that doesn't make me jump through hoops to install a bajillion plugins to have a code indexer/browser/autocomplete/etc." For compiled languages, I don't always use the IDE's notion of a "project file" and instead use Makefiles, ant scripts, or whatever else is appropriate to the language, depending on the project. I also hardly ever use the integrated debugger in the IDE, preferring just to drop down to the terminal and run gdb or whatever. Even on Xcode, where they have a nice GUI around their debugger (gdb or lldb, depending on the version), they still provide a CLI window for the debugger and I just type debugger commands directly instead of clicking on things all the time.

    There are good IDEs and bad IDEs out there. Anything based on Eclipse is almost certainly a steaming pile of crap since Eclipse itself is a steaming pile of crap. Visual Studio and Xcode are pretty good. QtCreator is also very good (even a couple of Linux kernel hackers said so -- some even saying it's good enough that they considered switching to it from Emacs). Komodo IDE is probably pretty good since the editor component, Komodo Edit, is very good. I've played a bit with PyCharm and it seems to be pretty decent as well. I like NetBeans for Java, though IntelliJ IDEA is supposed to be pretty good.

    One of the main problems with most IDEs is that they force you to work according to their workflow models. You have to use their own build wrappers, their own directory layouts, their own module commenting conventions, etc., otherwise they'll go in a tizzy. One of my favorite features of QtCreator is that it just doesn't care -- when creating a new project file for it, you can specify "Import Existing Project" which, as its help text describes, just means "use QtCreator as a text editor." That's it -- no funky build systems (though you can manually tell it to use your own build scripts if you want), no debugger integration (though you can manually add it back in later if you want), just a powerful programmers' editor that automatically indexes your C/C++ code for you.

    FWIW, the granddaddies of Linux editors, vim (has to be vim and not original vi) and Emacs, can be turned into IDEs nearly (or just) as fully featured as any other if you take the time to install the bajillion plugins and external tools necessary. At that point, you are using an IDE, just one that happens to share the same UIs as the editors on which they are based. If you install enough plugins into vim or Emacs to give it the same functionality as an IDE, then you shouldn't be casting stones against those who use IDEs. Sure, you may argue that that vim or Emacs has a more efficient UI than other IDEs or something along those lines, but unless you're using bare bones installations of them, you're still using an IDE.
  • PyCharm seems to work very nicely in the "you can use this as a text editor" department so far. Then again, I've only used it to tinker. Once I start digging into my current big project more deeply, I'll see if I'll stick with it or go back to more basic text editors. So far? No downsides.
  • That's been my experience with PyCharm too.

    FYI, if you want a more basic text editor with a standard-ish UI, I'd recommend Komodo Edit. It offers a lot of IDE-like functionality out of the box (including autocomplete), has a couple of free plugins to add a bit more stuff, and is free. Heck, it's the editor of choice for the guy who writes Vanilla forums.
  • So, what makes Eclipse a steaming pile of crap?
  • Eclipse is slow, buggy, forces you to bend to its will with respect to project directory layout, requires tons of plugins to do anything (although it does have a semi-decent plugin management UI), the plugins are poorly documented and are buggy themselves, etc.

    Every few months or so I give Eclipse another try to see if they fixed their issues with it and I'm always, always, disappointed that it continues to suck.

    I suppose if you do Java programming in an Eclipse-only shop, it may not suck as bad... but ugh... I can't for the life of me figure out why Eclipse beat out NetBeans as the most popular open source Java IDE except that SWT looks way nicer than Swing with the Metal theme.
  • In my limited experience with Eclipse, it's annoying to set up, and it frequently gets itself wedged in some inconsistent state for the projects it's supposed to be building. You end up debugging your IDE rather than working on code you care about.
  • edited July 2014
    Every time I go back to Java I always think Eclipse has hopefully been made better.

    That is never the case.

    NetBeans is generally just a pretty good IDE. I've had some decent experiences with it.

    EDIT: Generally all I want out of a text editor is syntax highlighting and easy ways to insert code snippets and change names. Sublime Text does a pretty decent job of all that. Debugging is nice but a lot of languages have shit debuggers so I generally just avoid them unless its Java or C#.
    Post edited by MATATAT on
  • IDEs can be extremely helpful to the programmer. They have many features that can save someone a lot of work, especially with certain languages. Features like automatic refactoring or automatic imports can save you an insane amount of time. This is why people are drawn to IDEs, and it is not why they are bad.

    IDEs are bad because once you use one, suddenly you have to worry about a lot more than just code. I can't tell you how many times I've tried to use Visual Studio, Eclipse, etc. I started off with a simple Hello World. It was 100% code-wise. Then when I press the play button, it doesn't work. If I copy/paste the same code into vim, it works fine. IDE? Play button does not cooperate.

    I only have enough space in my brain for the code I'm writing. I can't have perfectly correct code not work because some hidden checkbox in a GUI with 1000 menus and dialog boxes is not correct. I can use a debugger or various other tools to quickly correct problems in my code. I can't use a debugger to figure out why the IDE won't cooperate.

    If someone made an editor that had all the useful features of an IDE, like auto-imports, while still just being a text editor that relies on a separate terminal for execution, I would definitely try it out. Of course, the editing part has to work like vim, because duh.
  • code completion plugins can be awesome but they are usually pretty jenk.
  • MATATAT said:

    code completion plugins can be awesome but they are usually pretty jenk.

    Yes.

    Whenever I see a coding tool, such as code completion, I ask these questions. Is feature X (code completion) something that helps an amazing programmer code even more efficiently than would otherwise be possible without it, or is it something that is useless to a great programmer, but helps crappy programmer get by?

    If it's the former, then I'll usually go for it. That's like a turbo for a car, or a performance enhancing drug. If it's the latter, then it's a crutch. I'm better off getting my leg to be healed and awesome rather than relying on crutches forever. I'll always favor improving myself and my skills above compensating by wasting time messing with the tools I'm using.
  • I'm really hoping atom becomes a modern successor to vim/emacs. Lightweight but just powerful enough to do all the annoying bits for me.
  • Andrew said:

    I'm really hoping atom becomes a modern successor to vim/emacs. Lightweight but just powerful enough to do all the annoying bits for me.

    I'll try it.
  • I'd wait since it's vim support is lacking and it's still very much lacking in several areas.
  • edited July 2014
    Apreche said:

    IDEs can be extremely helpful to the programmer. They have many features that can save someone a lot of work, especially with certain languages. Features like automatic refactoring or automatic imports can save you an insane amount of time. This is why people are drawn to IDEs, and it is not why they are bad.

    Yep... that's one of the reasons why I've started using them. Of course, I never was tied down to a particular editor (heck, I've used both Emacs and vim and switched back and forth between them multiple times. I'm insane like that) or environment and I'm always looking for new tools to make me more efficient.
    Apreche said:

    IDEs are bad because once you use one, suddenly you have to worry about a lot more than just code. I can't tell you how many times I've tried to use Visual Studio, Eclipse, etc. I started off with a simple Hello World. It was 100% code-wise. Then when I press the play button, it doesn't work. If I copy/paste the same code into vim, it works fine. IDE? Play button does not cooperate.

    Depends on the IDE. It sounds like the issue you're having here is with the IDE's internal build/run system, which I agree sucks donkey balls in most IDEs out there. Many of them require tons of hoop jumping in order to get the environment set up just right in order to get the app to build/run/etc. properly, whereas it's often trivial to accomplish the same task from a command line, whether on Windows or Unix.
    Apreche said:

    I only have enough space in my brain for the code I'm writing. I can't have perfectly correct code not work because some hidden checkbox in a GUI with 1000 menus and dialog boxes is not correct. I can use a debugger or various other tools to quickly correct problems in my code. I can't use a debugger to figure out why the IDE won't cooperate.

    Most definitely, although some of this may vary depending on language. However, if your build/deploy/etc. settings configuration is based on some sort of properly documented text-based format (XML with proper schema documentation, Makefiles, SCons [Python] scripts, etc.), you at least can use grep or similar tools to try to dig through the build/deploy settings files to help figure it out. If the settings file is poorly documented XML or some ugly binary blob, forget about it.
    Apreche said:

    If someone made an editor that had all the useful features of an IDE, like auto-imports, while still just being a text editor that relies on a separate terminal for execution, I would definitely try it out. Of course, the editing part has to work like vim, because duh.

    For C/C++, Qt Creator fits the bill if you use its "import existing project" feature when creating a new project. As the wizard states:
    Imports existing projects that do not use qmake, CMake or Autotools. This allows you to use Qt Creator as a code editor.
    I do all my builds and runs from the a terminal. Actually, it's trivial to have Qt Creator run whatever build system you use from within itself and parse its output so that you have nice features like hot-links to compiler errors and whatnot, but that's purely optional. This is what I do, at least for compiling. Running and debugging is still 100% outside the IDE.

    For Python (and remember, I'm not a full time Python programmer -- I mostly use it to develop test and personal helper scripts, not customer-facing apps, so take this with a grain of salt), at least in the little bit of time I spent using it, it seems like PyCharm can work that way. At the very least, by default, it has a Terminal pane that's just a wrapper around your regular Bash session, and I usually just use another terminal window to execute whatever scripts I run in it anyway.

    As far as "editing part has to work like vim," would vim emulation be sufficient (depending on the quality of the emulation, of course)? QtCreator ships with a vim emulation mode out of the box and PyCharm has a freely downloadable vim emulation plugin available via its built-in plugin repository: http://plugins.jetbrains.com/plugin/?ruby&id=164&_ga=1.178534180.1237146648.1403197806

    I'm mostly mentioning PyCharm here (and linking to its Vim emulation plugin) as, last I heard, you were primarily a Python programmer, at least at work. Figured I'd point out an IDE that you may find at least worth a look. QtCreator, on the other hand, I've been using every day at work for a few years now, so I'm much more personally familiar with its capabilities.
    Post edited by Dragonmaster Lou on
Sign In or Register to comment.