Pie Colony posted:Why do you think this is a bad thing? IDEs are tools that are specifically designed to increase programmer productivity. They are a good thing (which isn't to say all IDEs are equally good). I actually use IDEs and love them, but it's a pretty lovely language(imo) if using an IDE is "required" to work with it reasonably. Or at least not very fun to work with. Beyond that, Java is used as a beginner language all the time which I really dislike. Python is a much better introduction to programming.
|
|
# ? Dec 5, 2014 18:23 |
|
|
# ? Jun 7, 2024 07:55 |
|
The IDE is for the standard library, not really the "language"
|
# ? Dec 5, 2014 18:33 |
hobbesmaster posted:The IDE is for the standard library, not really the "language" The IDE in Java's case is to deal with the (amongst other things) absurd amount of boilerplate the language requires, which was my original complaint.
|
|
# ? Dec 5, 2014 18:36 |
|
Pie Colony posted:Why do you think this is a bad thing? IDEs are tools that are specifically designed to increase programmer productivity. They are a good thing (which isn't to say all IDEs are equally good). Common Lisp can do this As for a contribution: Java code:
|
# ? Dec 5, 2014 18:42 |
|
GrumpyDoctor posted:Who the hell teaches Java without teaching local variables? Other scientists.
|
# ? Dec 5, 2014 18:47 |
|
Honestly Java without an IDE is fine. It's better than Python or Ruby (or any dynamically typed language) without an IDE.
|
# ? Dec 5, 2014 18:48 |
sarehu posted:Honestly Java without an IDE is fine. It's better than Python or Ruby (or any dynamically typed language) without an IDE. The horror is coming from inside the thread
|
|
# ? Dec 5, 2014 18:50 |
|
sarehu posted:Honestly Java without an IDE is fine. It's better than Python or Ruby (or any dynamically typed language) without an IDE. At least for me, any of those are fine without an IDE for shorter projects. The bigger the project the more I want an IDE for all of them. Funnily enough my favorite IDE for all three of those comes from Jetbrains.
|
# ? Dec 5, 2014 18:54 |
|
Pie Colony posted:What if you could run a debugger, encounter an error, then right there write some code to handle it, rewind the debugger a couple steps and re-do the operation? I would probably wind up rapidly generating a lot of bad blocks in the flash of my test board
|
# ? Dec 5, 2014 19:00 |
|
down with slavery posted:The horror is coming from inside the thread Wow, you totally owned him on a petty internet argument! I'm impressed at the sick burn you just laid out!
|
# ? Dec 5, 2014 19:12 |
|
Java is OK
|
# ? Dec 5, 2014 19:17 |
|
down with slavery posted:Add "requires IDE to use in a reasonable way" to the list of joyous parts of Java C# without an IDE sounds very reasonable.
|
# ? Dec 5, 2014 19:23 |
|
sarehu posted:Honestly Java without an IDE is fine. It's better than Python or Ruby (or any dynamically typed language) without an IDE. In my experience with PyCharm, it didn't really manage to guess the contents of my objects most of the time, and since it was just a glorified text editor at that point, I switched to Sublime. What Python IDE would you recommend?
|
# ? Dec 5, 2014 19:36 |
|
NFX posted:C# without an IDE sounds very reasonable. Yeah I worked with ASP classic on IIS 1.0 and it was all Textpad style editing then. I don't think I could go back now, autocomplete is just too goooooooood.
|
# ? Dec 5, 2014 19:44 |
|
GrumpyDoctor posted:Common Lisp can do this Just be glad they learned to do anything in java and not fortran.
|
# ? Dec 5, 2014 20:12 |
|
NFX posted:C# without an IDE sounds very reasonable. Reasonable just not very pleasant. Notably, the development part of Visual Studio is not what makes it most indispensible, it's the build/debug stuff that does. e: clarified, missing that "not" was kind of important No Safe Word fucked around with this message at 22:25 on Dec 5, 2014 |
# ? Dec 5, 2014 20:39 |
|
Dr. Stab posted:Just be glad they learned to do anything in java and not fortran. And that they used private and not public everywhere.
|
# ? Dec 5, 2014 21:41 |
|
HardDisk posted:In my experience with PyCharm, it didn't really manage to guess the contents of my objects most of the time This is weird and not the average experience. However, it's not really possible to always know the contents of all objects all the time. HardDisk posted:, and since it was just a glorified text editor at that point, I switched to Sublime. PyCharm is the best. Even if you are just using it as a glorified text editor because you've got some weird objects it's still at least as good as Sublime. The previous sentences seem to express more confidence than I actually have as I haven't used all Python IDEs for extensive amounts of time. Just a couple for more than a few weeks. Also relative goodness encompasses subjective preferences on top of objective differences.
|
# ? Dec 5, 2014 22:23 |
|
Thermopyle posted:This is weird and not the average experience. However, it's not really possible to always know the contents of all objects all the time. I far prefer emacs to PyCharm with jedi and python-mode, actually, but maybe that's just the subject matter I deal with. PyCharm is great for pure python, but pretty crap for mixed projects, including just a little shell or Makefiles or specfiles.
|
# ? Dec 5, 2014 22:37 |
|
Xenoveritas posted:And that they used private and not public everywhere. Oh that, I promise you, is false hope. There's no real encapsulation; the private declarations mean that they just added a getter/setter pair whenever they wanted to reach from the current god object into another one.
|
# ? Dec 5, 2014 22:48 |
|
evol262 posted:I far prefer emacs to PyCharm with jedi and python-mode, actually, but maybe that's just the subject matter I deal with. PyCharm is great for pure python, but pretty crap for mixed projects, including just a little shell or Makefiles or specfiles. Yeah, that's a valid critique. I would note that "mixed projects" holds for only some projects. For example, it's pretty great for Python and JS.
|
# ? Dec 5, 2014 22:51 |
|
Powerful Two-Hander posted:Are all java developers poo poo at anything and everything involving databases or is it just the ones I deal with? Talking about SQL Server here mostly, but if you're using parameterised queries, then executing text queries rather than stored procs doesn't typically incur repeated execution plan compilation overhead or anything like that. Additionally it means you can roll out bug fixes to your queries without having to co-ordinate with the DBAs for production databases, and versioning/rollback is easier. Also stored procs for reading data are horrible, at least in SQL Server. If the drat thing dumps out 1000 rows, and you need to dig through it, I guess you're pasting the result set into Excel then or something. At least with views or table valued user-defined functions you can filter if you're trying to debug prod issues. I personally only ever go for stored procs if 1) infosec and auditing requirement or 2) execution plan analysis shows it's better for some reason.
|
# ? Dec 5, 2014 22:58 |
|
evol262 posted:I far prefer emacs to PyCharm with jedi and python-mode, actually, but maybe that's just the subject matter I deal with. PyCharm is great for pure python, but pretty crap for mixed projects, including just a little shell or Makefiles or specfiles. If you're doing a lot of mixed-language stuff, it might be worth getting the full version of IDEA; you can get free plugins that include all the functionality of the language-specific ones.
|
# ? Dec 5, 2014 23:16 |
|
Thermopyle posted:At least for me, any of those are fine without an IDE for shorter projects. The bigger the project the more I want an IDE for all of them. Ruby Mine has tons of nice features that I will never learn anything about because using it is incredibly painful. I'm sure it's great once you know what everything does it absolutely chokes on my companies 10,000+ line ruby files so I can't really use it.
|
# ? Dec 5, 2014 23:40 |
|
Little double negative threw me off for a second:pre:if (!InventTable::find(_itemId).DoNotSource) return "Wholesale"; pre:if (InventTable::find(_itemId).DoNotSource == NoYes::No) return "Wholesale";
|
# ? Dec 5, 2014 23:49 |
|
down with slavery posted:Beyond that, Java is used as a beginner language all the time which I really dislike. Python is a much better introduction to programming. Depends on what you're teaching, really. I learned of Greenfoot a couple of years ago and it really seems like a pretty great introduction to programming. It is Java.
|
# ? Dec 6, 2014 00:25 |
|
It depends on your definition of "beginner language" I guess. In my mind, if you're teaching people who have literally never programmed anything before, you should be using something that has a REPL, and that isn't Java. Once you start moving beyond that, Java isn't a terrible thing to learn on, I guess.
|
# ? Dec 6, 2014 00:31 |
|
I always want people to learn Object oriented C first, so that way they know (or should know) how things operate at the memory level. Then move on the C++ to learn classes and whatnot, and then move on to whatever you want after that.
|
# ? Dec 6, 2014 00:35 |
|
MALE SHOEGAZE posted:Ruby Mine has tons of nice features that I will never learn anything about because using it is incredibly painful. I'm sure it's great once you know what everything does it absolutely chokes on my companies 10,000+ line ruby files so I can't really use it. RubyMine (and all IDEs I've ever used) is noticeably slow even with small files. I doubt most people using Sublime Text use even 5% of its features; personally I don't like my text editor to feel like it's running over a dialup connection.
|
# ? Dec 6, 2014 00:37 |
|
Novo posted:RubyMine (and all IDEs I've ever used) is noticeably slow even with small files. I doubt most people using Sublime Text use even 5% of its features; personally I don't like my text editor to feel like it's running over a dialup connection. I can't really tell a performance difference between RubyMine/PyCharm and Sublime Text even with large projects. However, my development machine has 32GB RAM, an i5, and an SSD. For stuff like little scripts and the like I usually just fire up Sublime though.
|
# ? Dec 6, 2014 00:40 |
|
ratbert90 posted:I always want people to learn Object oriented C first, so that way they know (or should know) how things operate at the memory level. ...Why?
|
# ? Dec 6, 2014 00:41 |
|
Everyone should start with Karel the Robot and shouldn't be given as much as a local variable until they can generate random Mondrians with it.
|
# ? Dec 6, 2014 00:59 |
|
Wheany posted:...Why? C is simple, and contains pretty much the fundamentals of almost every single programming language out there. I have seen a lot of poo poo code because of a fundamental misunderstanding of how memory is handled. I have seen CS graduates that didn't know what a pointer was. I have seen CS graduates that didn't know what a function was on a memory level. quote:Everyone should start with Karel the Robot and shouldn't be given as much as a local variable until they can generate random Mondrians with it. Please, everybody should start with CPU machine code and work their way up to ASM.
|
# ? Dec 6, 2014 01:08 |
|
ratbert90 posted:Please, everybody should start with CPU machine code and work their way up to ASM. When I was 10 years old, I opened up a binary file in DOS and looked at the ASCII symbols and told my parents "I want to be able to write that!" everyone should learn how to do that first Also, everyone should have to construct their own CPU first.
|
# ? Dec 6, 2014 01:29 |
|
My first language, like a surprising number of people, was BASIC. I think BASIC can actually be a good introductory language even today- programming is at a level of abstraction similar to that of assembly language and it's very easy to work out programs on paper. Allowing students to develop a robust mental model of what the computer is doing helps to demystify the process. As their ambition increases they will eventually outgrow BASIC, and that's OK. My second language was Redcode, and it may have broken me permanently. Exercise caution exposing beginners to Corewar.
|
# ? Dec 6, 2014 01:36 |
|
My first language (in school) was Python 3. It was pretty fun to start out in. Then one day for a project, we had to write a scheme interpreter in python. Boy was that fun
|
# ? Dec 6, 2014 01:44 |
|
Ithaqua posted:Also, everyone should have to construct their own CPU first. And we're just giving them transistors without going over semiconductor physics?!? Joking aside, I don't see why our C-only introductory course designed around an accurate mental model of the memory system needs the design-side scaffolding of OO. Seems like that CS class that started out with makefiles.
|
# ? Dec 6, 2014 02:05 |
|
First language I touched was ATARI BASIC for the Atari 8 bit systems. Line numbers! GOTO! Player/Missile objects! Then APPLE BASIC in school, and then I taught myself (Borland) Turbo Pascal in high school. Formally, I think the only languages I was taught in University was Miranda and ANSI C, neither of which I've used since.
|
# ? Dec 6, 2014 02:32 |
|
On the other hand, it seemed like my program wanted to teach OO first, since we all started with BlueJ and a book called Objects First with Java. Which honestly I think went fine and gave students a bit of a leg up when they hit the mid-level classes which were still in Java. Now they start in Python and have to learn Java as they go in the first data structures class. My biggest complaint was that the introductory C class (which was an EE class) was not mandatory for CS majors.
|
# ? Dec 6, 2014 03:06 |
|
|
# ? Jun 7, 2024 07:55 |
|
I don't see why you cant teach a low level and high level language simultaneously. Use the low level language for teaching about memory and language nitty gritties and use the high level for teaching high level program design concepts and so forth. Although IMO do like just a semester of the low level language first so people don't get overwhelmed. You can tell I didn't go to college because all I can tell you about low level and high level programming language is that there are nitty gritties.
|
# ? Dec 6, 2014 03:45 |