Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
down with slavery
Dec 23, 2013
STOP QUOTING MY POSTS SO PEOPLE THAT AREN'T IDIOTS DON'T HAVE TO READ MY FUCKING TERRIBLE OPINIONS THANKS

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).

Also, even if you don't like current IDEs, the best ideas are still ahead of us. 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 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.

Adbot
ADBOT LOVES YOU

hobbesmaster
Jan 28, 2008

The IDE is for the standard library, not really the "language"

down with slavery
Dec 23, 2013
STOP QUOTING MY POSTS SO PEOPLE THAT AREN'T IDIOTS DON'T HAVE TO READ MY FUCKING TERRIBLE OPINIONS THANKS

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.

raminasi
Jan 25, 2005

a last drink with no ice

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).

Also, even if you don't like current IDEs, the best ideas are still ahead of us. 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?

Common Lisp can do this :ssh:

As for a contribution:
Java code:
		// parameters for intermediate calculations
		private double roofQConduct;		// Units: W/m2
		private double roofNetRadiation;	// Units: W/m2
		private double roofQET;				// Units: W/m2
Why does every scientist in my department do this? Why? Who the hell teaches Java without teaching local variables?

leftist heap
Feb 28, 2013

Fun Shoe

GrumpyDoctor posted:

Who the hell teaches Java without teaching local variables?

Other scientists.

sarehu
Apr 20, 2007

(call/cc call/cc)
Honestly Java without an IDE is fine. It's better than Python or Ruby (or any dynamically typed language) without an IDE.

down with slavery
Dec 23, 2013
STOP QUOTING MY POSTS SO PEOPLE THAT AREN'T IDIOTS DON'T HAVE TO READ MY FUCKING TERRIBLE OPINIONS THANKS

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

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

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.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

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 :v:

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

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!

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Java is OK :)

NFX
Jun 2, 2008

Fun Shoe

down with slavery posted:

Add "requires IDE to use in a reasonable way" to the list of joyous parts of Java


I don't really have a favorite language but there's a very short list of "popular" languages that are worse than Java in my eyes (Visual Basic comes to mind).

Languages I'd rather write in than java (in semi-order):
Python
C#
C
JavaScript
PHP
C++
Perl

They all have their warts but "overly verbose" isn't one of them

C# without an IDE sounds very reasonable.

Space Kablooey
May 6, 2009


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?

Scaramouche
Mar 26, 2001

SPACE FACE! SPACE FACE!

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.

Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀

GrumpyDoctor posted:

Common Lisp can do this :ssh:

As for a contribution:
Java code:
		// parameters for intermediate calculations
		private double roofQConduct;		// Units: W/m2
		private double roofNetRadiation;	// Units: W/m2
		private double roofQET;				// Units: W/m2
Why does every scientist in my department do this? Why? Who the hell teaches Java without teaching local variables?

Just be glad they learned to do anything in java and not fortran.

No Safe Word
Feb 26, 2005

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

Xenoveritas
May 9, 2010
Dinosaur Gum

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.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

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.

What Python IDE would you recommend?

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.

evol262
Nov 30, 2010
#!/usr/bin/perl

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.


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.

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.

raminasi
Jan 25, 2005

a last drink with no ice

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.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

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.

Milotic
Mar 4, 2009

9CL apologist
Slippery Tilde

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?

Today's entertainment was reformatting a slow query to remove delights like left joins hidden in the where clause on yet another string being executed directly because apparently stored procs are against nature or something.

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.

DimpledChad
May 14, 2002
Rigging elections since '87.

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.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

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.

Funnily enough my favorite IDE for all three of those comes from Jetbrains.

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.

Knyteguy
Jul 6, 2005

YES to love
NO to shirts


Toilet Rascal
Little double negative threw me off for a second:
pre:
if (!InventTable::find(_itemId).DoNotSource)
        return "Wholesale";
Better way:
pre:
if (InventTable::find(_itemId).DoNotSource == NoYes::No)
        return "Wholesale";

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

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.

Xenoveritas
May 9, 2010
Dinosaur Gum
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.

FlapYoJacks
Feb 12, 2009
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.

Novo
May 13, 2003

Stercorem pro cerebro habes
Soiled Meat

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.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

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.

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

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.

Then move on the C++ to learn classes and whatnot, and then move on to whatever you want after that.

...Why?

JawnV6
Jul 4, 2004

So hot ...
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.

FlapYoJacks
Feb 12, 2009

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.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

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.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
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.

Impotence
Nov 8, 2010
Lipstick Apathy
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

JawnV6
Jul 4, 2004

So hot ...

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.

Scaramouche
Mar 26, 2001

SPACE FACE! SPACE FACE!

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.

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

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.

Adbot
ADBOT LOVES YOU

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply