The Joys Of Programming

It sounds like you need new management more than a new career, momgamer.

Malor wrote:
This just comes down to the old question of what's more expensive, CPU cycles or coder time. And we're at least 20 years since the last time the true answer was CPU cycles.

But even that's not quite focusing in the right place. CPU cycles are cheap, yes, but the real problem is slow I/O. Using a slow language, for most things that are I/O bound, ends up barely moving the needle for completion times. And an awful, awful lot of things are I/O bound. (or even HUMAN-bound, which is ridiculously slow.)

This is not always the case though. With virtualization and applications that need to scale, CPUs can be shared among tasks, so wasting CPU cycles still has a cost. Whether the cost is significant is another question.

But I/O is even more of a problem in virtualization!

Malor wrote:

Well, as compared to what, exactly?

They're no better than Javascript, which is orders of magnitude faster, for one.

Looking at the Code-used Time-used shapes at the language benchmark page, I'd say that anything within in the <30x as slow as Fortran, <2x as verbose as Ruby quadrant is a pretty reasonable thing to take a look at. (JRuby's just at the low-performance end of that, and Go and Clean are on the high-verbosity end of that.)

Hypatian wrote:
Malor wrote:

Well, as compared to what, exactly?

They're no better than Javascript, which is orders of magnitude faster, for one.

Hmm. Seems like a lot of people are trying to "fix" JavaScript and make it more like those languages that are "no better" than it. CoffeeScript, TypeScript, Dart, GWT...

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Not picking on JS, just... highlighting the difference of opinion, considering how matter-of-fact "They're no better than Javascript" was stated.

*Legion* wrote:

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Aside from the things that [em]compile into[/em] Javascript for efficiency, you mean? ;>

It really comes down to the point that expressiveness is a matter of opinion. So I used conciseness. If you want expressive power, I'd much rather have a language with a good type system. (Kind of like the one JavaScript, Perl, Ruby, and Python don't have.) The best choice along those lines in that chart would probably be OCaml.

Where's a good resource for learning HTML5?

I hate youtube tags.

Hypatian wrote:
*Legion* wrote:

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Aside from the things that [em]compile into[/em] Javascript for efficiency, you mean? ;>

Exactly my point. People have to use JS because it's the language built into the browser, yet the notion of actually writing JS is so off-putting that they invent entire languages to avoid it.

Not stating whether any one in particular is "right", just, pointing out how large and strongly held the opposing viewpoint might be.

boogle wrote:

I hate youtube tags.

boogle wrote:

I hate youtube tags.

Python is so easy, even people who can't manage BBCode can write it.

*Legion* wrote:
Hypatian wrote:
*Legion* wrote:

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Aside from the things that [em]compile into[/em] Javascript for efficiency, you mean? ;>

Exactly my point. People have to use JS because it's the language built into the browser, yet the notion of actually writing JS is so off-putting that they invent entire languages to avoid it.

Not stating whether any one in particular is "right", just, pointing out how large and strongly held the opposing viewpoint might be. :)

Yeah. Honestly, I'd much rather write in Javascript than Python. Javascript has warts, but at least the warts have a reasonably regular shape and finite extent. Its biggest problem is that it doesn't have a good standard library. Python has warts that look like they might be useful until you touch them and they ooze all over you and you get the feeling the ooze might just not stop. Its biggest problem is that it has a "standard" "library".

As for programming in other languages: I think the thing to take away from that is less that "Javascript is awful" than that "people would like to be able to program in different languages, Javascript is the only language really supported for writing code for web browsers, and Javascript performs well enough that you can afford to compile to it."

Or to put it another way: If you want to write non-web-client code in something other than Python, there's nothing stopping you from using pretty much any language you want (aside from policy). You certainly don't have to translate your code to Python, and you wouldn't want to because you could write an implementation of your language in pretty much anything else and it would be faster and easier. If want to write web-client code in something other than Javascript, it must be translated to Javascript, because there's no other language that's supported. Luckily, it's not that bad a choice of target language.

boogle wrote:

I hate youtube tags.

Just dump in the full URL, with optional timestamp, like so:

[youtube]http://www.youtube.com/watch?feature...

That'll do the video, plus start it at 30 seconds.

*Legion* wrote:
boogle wrote:

I hate youtube tags.

Python is so easy, even people who can't manage BBCode can write it.

Mathematics, a major so easy you can get a BS and still not be able to add fractions!

boogle wrote:
*Legion* wrote:
boogle wrote:

I hate youtube tags.

Python is so easy, even people who can't manage BBCode can write it.

Mathematics, a major so easy you can get a BS and still not be able to add fractions!

I used to think graduates of math programs were geniuses, and then I met Boogle.

Spoiler:

In This Thread: The Joy of Ripping on Boogle

*Legion* wrote:
boogle wrote:
*Legion* wrote:
boogle wrote:

I hate youtube tags.

Python is so easy, even people who can't manage BBCode can write it.

Mathematics, a major so easy you can get a BS and still not be able to add fractions!

I used to think graduates of math programs were geniuses, and then I met Boogle.

Spoiler:

In This Thread: The Joy of Ripping on Boogle

We've already got 3 threads for that.

Spoiler:

I propose a 4th.

Bonus_Eruptus wrote:
*Legion* wrote:
boogle wrote:
*Legion* wrote:
boogle wrote:

I hate youtube tags.

Python is so easy, even people who can't manage BBCode can write it.

Mathematics, a major so easy you can get a BS and still not be able to add fractions!

I used to think graduates of math programs were geniuses, and then I met Boogle.

Spoiler:

In This Thread: The Joy of Ripping on Boogle

We've already got 3 threads for that.

Spoiler:

I propose a 4th.

Boogle's Law: As a GWJ thread grows longer, the probability of Boogle taunting approaches 1.

No more python questions for Bonus!

boogle wrote:

No more python questions for Bonus!

I'll be good!

Hypatian wrote:
*Legion* wrote:

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Aside from the things that [em]compile into[/em] Javascript for efficiency, you mean? ;>

It really comes down to the point that expressiveness is a matter of opinion. So I used conciseness. If you want expressive power, I'd much rather have a language with a good type system. (Kind of like the one JavaScript, Perl, Ruby, and Python don't have.) The best choice along those lines in that chart would probably be OCaml.

Unfortunately, there seems to be all of one company in the US that uses OCaml (every year or so I start trying to learn a bit more of OCaml with the intention of applying, but end up far too lazy to go through with it).

Hypatian wrote:
*Legion* wrote:
Hypatian wrote:
*Legion* wrote:

Interestingly, I've yet to see anyone write something to make other languages look like JavaScript.

Aside from the things that [em]compile into[/em] Javascript for efficiency, you mean? ;>

Exactly my point. People have to use JS because it's the language built into the browser, yet the notion of actually writing JS is so off-putting that they invent entire languages to avoid it.

Not stating whether any one in particular is "right", just, pointing out how large and strongly held the opposing viewpoint might be. :)

Yeah. Honestly, I'd much rather write in Javascript than Python. Javascript has warts, but at least the warts have a reasonably regular shape and finite extent. Its biggest problem is that it doesn't have a good standard library. Python has warts that look like they might be useful until you touch them and they ooze all over you and you get the feeling the ooze might just not stop. Its biggest problem is that it has a "standard" "library".

As for programming in other languages: I think the thing to take away from that is less that "Javascript is awful" than that "people would like to be able to program in different languages, Javascript is the only language really supported for writing code for web browsers, and Javascript performs well enough that you can afford to compile to it."

Or to put it another way: If you want to write non-web-client code in something other than Python, there's nothing stopping you from using pretty much any language you want (aside from policy). You certainly don't have to translate your code to Python, and you wouldn't want to because you could write an implementation of your language in pretty much anything else and it would be faster and easier. If want to write web-client code in something other than Javascript, it must be translated to Javascript, because there's no other language that's supported. Luckily, it's not that bad a choice of target language.

Hypatian, your neckbeard is showing

Ironically the fact that JavaScript doesn't have a standard library is what made Node.js possible. Ryan Dahl has said that he picked JS for Node because there wouldn't be the problem that languages like Ruby and Python have with most of their libraries blocking IO. The Node community started from scratch writing libraries that work with the Node evented model. Despite what one's opinion might be about Node.js as a technology, it is impressive that the community has produced a tremendous amount of solid code in a just a few years.

I completely disagree with you about Python -- the standard library is not without it's issues and bad legacies, but I can build features and ship tested code in Python and Ruby much faster than other languages I've worked with, which is the litmus test for my purposes -- but hey, to each their own. I do agree that JavaScript is a pretty solid language. Once you get past some of the warts, it is actually fun to work with.

Hey, no taunting boogle (or anyone, really, except maybe me) in T&H. That's not fair.

Malor wrote:

But I/O is even more of a problem in virtualization!

Depends on what you are doing. If the resource being waited on is shared amongst all the VMs (such as a HDD) then yes. But if the IO is something like user input, or external services, then it is less of a problem.

kazar wrote:
Malor wrote:

But I/O is even more of a problem in virtualization!

Depends on what you are doing. If the resource being waited on is shared amongst all the VMs (such as a HDD) then yes. But if the IO is something like user input, or external services, then it is less of a problem.

I've done some SQL Server performance troubleshooting at various times recently and since databases in general are very I/O dependent putting them on VMs is incredibly dangerous if your SAN administrators don't understand that they need to keep the database files on spindles that aren't shared a dozen times over.

bandit0013 wrote:
kazar wrote:
Malor wrote:

But I/O is even more of a problem in virtualization!

Depends on what you are doing. If the resource being waited on is shared amongst all the VMs (such as a HDD) then yes. But if the IO is something like user input, or external services, then it is less of a problem.

I've done some SQL Server performance troubleshooting at various times recently and since databases in general are very I/O dependent putting them on VMs is incredibly dangerous if your SAN administrators don't understand that they need to keep the database files on spindles that aren't shared a dozen times over.

I don't think we are talking about writing an SQL server in python though. I am not a fan of SQL based DBs anyway ;).

Day 2 of fugitive.vim: Yup, this is pretty awesome.

boogle wrote:

Day 2 of fugitive.vim: Yup, this is pretty awesome.

I wonder how well that would work with my windows install of vim, git and ruby. Still need to decide on my next project. There are a couple of board games I'm interested in implementing in code and maybe writing simple A.I.'s for. Or game helpers of various kinds. Also considering a development environment for Notch's 0x10^C project.

Just follow the installation instructions but use ~\vimfiles instead of ~/.vim

boogle wrote:

Just follow the installation instructions but use ~imfiles instead of ~/.vim

Are you developing in Windows for your day-to-day work, Boogle?

*Legion* wrote:
boogle wrote:

Just follow the installation instructions but use ~imfiles instead of ~/.vim

Are you developing in Windows for your day-to-day work, Boogle?

Oh god no.
I have retained my vim/windows knowledge from my days at CHK where I was told no unix and no db access.
Those are also some of the significant reasons why I don't work there anymore.