Only some of it, some of it will come from reducing the potential energy of the Earth (in fact you could say that it's only the system as a whole that has potential energy, neither the water drop or the Earth has any in isolation). So looking at the water drop on its own, it's picked up energy.
Electricity is what gives the energy that's being used - the fuel is just reaction mass - unlike chemical engines where your fuel is both your energy source and (once reacted) the reaction mass.
Agreed, but people tend to see lisp and think a) pure functional b) lots of brackets everywhere. Not that the brackety syntax is bad, but it's dramatically different from most programming languages, as is most of the syntax for nonfunctional things. Python is, imo, pretty similar for learning but syntactically much closer to C and friends, which makes it less intimidating to learn another language afterwards. I'd certainly say lisp is a far better choice than C and indeed most languages though.
The ends are unlikely to be "to use google widgets". Rather they are "to display cool things on a web page". So it makes sense to discuss alternative ways of accomplishing this.
No I'm not. The easiest general-purpose programming language to learn is Python. If you're sure you only want to program in one specialised area then you may well find an easier language for that area, there's some areas like very low-level systems programming that you can't do at all in python, but if you want to learn a single language that will let you do the programming you want to do easily then Python is almost certainly the best choice.
Most people who think that C is low level, grungy programming language haven't written a lick of C code and couldn't write anything significant in C if their life depended on it.
I've written C and still do, far more often than I'd like. Heck, it's not like I haven't done any lower stuff, reading a memory address repeatedly with a delay loop to play a sound in 6502 assembler, that was low level. But compared to a modern language it is grungy and low level.
C has very simple syntax. The language doesn't get in your way,
No, but the only language that really gets in the way (IME) is Java. C may not get in your way but it doesn't do much to help you either.
and once you want to start doing OO, you can pick up C++ fairly easily once you know C.
Not really. You can write C and call it C++, and add classes and exceptions and templates and call it C++, but to learn true C++ will take a lot of effort. C++ from C is better than starting completely afresh, but being able to learn OO in the same language is better still.
One of the problems of learning a language like python first, is that it doens't teach you anything about proper dynamic memory allocation, the use of pointers, the use of operating system APIs, etc.
No. But there is time to learn these afterwards. Learning programming is hard enough by itself for many people - you don't want to clutter it with anything unnecessary. Yes, you need to learn C - but it's easier to learn programming in a language where you don't have to worry about such things and then learn the things you need to worry about in C.
Scripting languages like Python are nice, but you'll never learn anything about systems-level programming writing things in Python, so, for example, your hands will be tied when new hardware comes along until us C programmers come along and write a library for you to access its driver.
Again, systems programming is something you need to learn, but you don't have to learn it at the same time you learn programming. Postponing it a bit makes it easier for you to learn how to program.
The fact of the matter is, there is a language out there specifically designed for people new to programming to dip their toe in the water and learn some of the basic concepts like loops, conditions and variables without having to worry about memory models, pointers and header files.
Python allows you to do all that. If you want a teaching-oriented language by all means go for pascal or something, but honestly, Python is better for teaching than anything I've seen designed for it.
I've seen too many people get into a "goto mentality" if they learn programming from basic. You have to do goto in basic and you end up thinking in terms of goto, and your control flow when you move on to real programs will be designed around gotos rather than the usual set of control structures. You do things like putting a block around code that has no logical relationship so you can use break to get to the end of it from a certain point.
After spending a few months writing the standard "Hello World", "Im thinking of a number.." style programs, then you can branch out almost anywhere.
Basic may be ok for that, but once you start learning about control flow you really need a language with the normal looping constructs. Rather than switching, especially at such an early stage, it's better to go for a language with them in from the start.
Re:Interpreted Versus Compiled
on
Java Is So 90s
·
· Score: 1
Much as I loathe Java, I have to disagree with you on this. Yes, manual memory management takes some learning - which is precisely why it's better to learn to program first and learn to manage your memory after. Yes, it's easier to learn Java after C than C after Java - but you don't do any less learning, you'll just spend more time learning C from scratch than you would with Java. Best to learn a language you can actually use and then more than doing a load of learning before you can write anything real.
I think it's the other way around. OO is an advanced concept, one that shouldn't be introduced at once. I think that a struggling programer has his/her hands full just learning the language syntax. It's a much better idea to start using a language witha small, simple syntax like C or MATLAB.
But with python you can learn the rest of the language and completely ignore the OO stuff until you've learnt the core language, and that's how I teach it. And yet, when you come to use it, the OO is in there at a very deep level. That's what's so great about it.
C is a bad way to start - you need to learn how to do such grungy programming at some stage, but it can wait until you've done something nicer. Also, it's good to be able to introduce OO without switching languages. I recommend python for learning to program - simple syntax, enforced good indent style, language doesn't get in your way when you're doing simple things, but the advanced things including both OO and functional concepts are there for when you want or need to learn them. Only downside is many other languages are horrible by comparison - one advantage for learning C first is it makes you appreciate what you have with a modern language.
Perhaps they don't. Sometimes I find jokes less funny because the premise has a gaping logical flaw in it. I find it particularly irritating when I can see a way the joke could have been told without the logical flaw.
Yes, but the response to that is not to criticise the joke as if it was meant seriously.
Re:Interpreted Versus Compiled
on
Java Is So 90s
·
· Score: 1
Psychologically if nothing else, I find it's nicer to write a chunk of code and then get all the bugs out of it. This is easier to do when there's one place you find all the bugs (runtime).
Experience says it doesn't work like that. There are people who learn any and all of those well before the "normal" time. It's not about a sensitive period based on age. Maybe the reason people who don't develop it by a certain time struggle with it forever is that the reason they didn't develop it by that age is it's hard for them?
The girls drinking one seems more to be "approving of" than "disapproving and allowing to proceed". "it was in their home with their parents' consent.", "Nearly half of all mothers think underage drinking is acceptable," there is no mention of disapproval. "We will not condone torture/lawlessness" makes sense with either definition so is no evidence one way or another. The last one I'll give you, but even then...is she berating republicans for letting Bush carry on though they disapprove of him, or for approving of him? Either way makes sense.
Unfortunately, with only a couple of spaceflights per year... the tech really is relatively untested. I mean, how safe would you feel about your car if automobiles as a whole had only been tested in their usual working environment at a couple of times per year since the 60s?
Point, but if the components have been tested enough on the ground, the current amount of actual flights is more than enough to sort out any problems that come from the system as a whole. If cars had had thirty years of "lab" testing and then what, 60 5-day sessions of actual driving...it seems like it should be enough. I think early aeroplanes were far better after a similar amount of testing, though of course the environment isn't entirely foreign there (but still significantly different from the ground).
Of course, there's also the issue that the current vehicles are really too old for continued use, particularly those intended for human transport/habitation,
I think that has a lot more to do with the number of accidents than the tech being new and untested.
Why? They already have several formats folks can put their music onto the iPod with. They aren't restricting ANY company from putting their music on the machine unhindered.
They're letting themselves sell DRMed music for it but not letting anyone else do so. That's a distinct market from unencumbered music. It doesn't matter if MS is letting you run all the games you want, if they're not letting you run competitors' office suites that's still a restriction.
What? They should be also forced to open up a 5th format that is key to Apple's business plan? Apple gives several viable ways to get the songs onto the machine and others think Apple should give more?
Yes, they should. They're selling it as a player, it's a monopoly player which gives them certain responsibilities. The player should be opened up to give everyone a level playing field when it comes to selling songs for it.
If this were Microsoft, I don't think ANY of us would be complaining? What? That Microsoft released an OS that required us to pay for their office components -- but if we wanted to use F/OSS equivelents they'd more then encourage us to do so -- in fact direct us to where we can get this stuff...
If they produced an OS that would let you buy their office components or use F/OSS equivalents, but wouldn't let you buy Lotus or anyone else's office suite.
or if someone wanted to charge for software but couldn't hook into their encryption
They were made to allow winamp, realplayer etc. to play (even DRMed) wma, and we said quite rightly so.
Re:The real 90s versus outdated 00s software
on
Java Is So 90s
·
· Score: 1
Actually, that is understandable. I have found even relatively bare Windows XP and Linux with Gnome/KDE to be less-than-usable on a machine with, say, 128MB. I would expect significant delays even with C++/KDE apps on a machine with that spec.
KDE runs fine on it. My 60mb (64 but it's shared with the graphics) celeron 650 machine can run KDE apps more responsively than Java on the duron.
The key thing, in my view, is swap space. A machine with 384MB and, say, 512MB of swap with that spec should give a reasonable performance. The delay in the GUI should be there at the start, but disappear as the JIT starts to work.
I set it up with a gig of swap so I didn't have to worry about that, and it has 384mb in there at the moment. GUI delay's still there in Azureus even when it's been running for several hours and I'm doing the same things I've been doing for all that time.
What's powering your car is, essentially, a (sequence of) controlled explosion(s). Sure, a rocket can never be 100% safe, but it can get close. Considering how rare manned space flights are (the average is what, a couple a year?) I'd say current performance is pretty poor. Sure, you expect this when you're working with new untested tech, but the shuttle shouldn't be that by this stage.
Re:The real 90s versus outdated 00s software
on
Java Is So 90s
·
· Score: 1
800mhz Duron. Ram varies between 128 and 384mb. Azureus, yaggui, jedit, then a few random ones I can't remember off freshmeat as a more unbiased comparison. Seconds is an exaggeration, but there is a noticeable, I'd say at least 500ms, delay between clicking something in the gui and having a response occur. I've tried blackdown 1.4, sun 1.4, and sun 1.5 JVMs.
Only some of it, some of it will come from reducing the potential energy of the Earth (in fact you could say that it's only the system as a whole that has potential energy, neither the water drop or the Earth has any in isolation). So looking at the water drop on its own, it's picked up energy.
Electricity is what gives the energy that's being used - the fuel is just reaction mass - unlike chemical engines where your fuel is both your energy source and (once reacted) the reaction mass.
Agreed, but people tend to see lisp and think a) pure functional b) lots of brackets everywhere. Not that the brackety syntax is bad, but it's dramatically different from most programming languages, as is most of the syntax for nonfunctional things. Python is, imo, pretty similar for learning but syntactically much closer to C and friends, which makes it less intimidating to learn another language afterwards. I'd certainly say lisp is a far better choice than C and indeed most languages though.
The ends are unlikely to be "to use google widgets". Rather they are "to display cool things on a web page". So it makes sense to discuss alternative ways of accomplishing this.
The braces get in the way, and the fact you have to manually code the loop through the array rather than having a control structure to do that with.
No I'm not. The easiest general-purpose programming language to learn is Python. If you're sure you only want to program in one specialised area then you may well find an easier language for that area, there's some areas like very low-level systems programming that you can't do at all in python, but if you want to learn a single language that will let you do the programming you want to do easily then Python is almost certainly the best choice.
Hardly. This site runs on perl, remember? But love it or hate it, it's hard to deny that python is a very good first language.
I've written C and still do, far more often than I'd like. Heck, it's not like I haven't done any lower stuff, reading a memory address repeatedly with a delay loop to play a sound in 6502 assembler, that was low level. But compared to a modern language it is grungy and low level.
C has very simple syntax. The language doesn't get in your way,
No, but the only language that really gets in the way (IME) is Java. C may not get in your way but it doesn't do much to help you either.
and once you want to start doing OO, you can pick up C++ fairly easily once you know C.
Not really. You can write C and call it C++, and add classes and exceptions and templates and call it C++, but to learn true C++ will take a lot of effort. C++ from C is better than starting completely afresh, but being able to learn OO in the same language is better still.
One of the problems of learning a language like python first, is that it doens't teach you anything about proper dynamic memory allocation, the use of pointers, the use of operating system APIs, etc.
No. But there is time to learn these afterwards. Learning programming is hard enough by itself for many people - you don't want to clutter it with anything unnecessary. Yes, you need to learn C - but it's easier to learn programming in a language where you don't have to worry about such things and then learn the things you need to worry about in C.
Scripting languages like Python are nice, but you'll never learn anything about systems-level programming writing things in Python, so, for example, your hands will be tied when new hardware comes along until us C programmers come along and write a library for you to access its driver.
Again, systems programming is something you need to learn, but you don't have to learn it at the same time you learn programming. Postponing it a bit makes it easier for you to learn how to program.
Python allows you to do all that. If you want a teaching-oriented language by all means go for pascal or something, but honestly, Python is better for teaching than anything I've seen designed for it.
I've seen too many people get into a "goto mentality" if they learn programming from basic. You have to do goto in basic and you end up thinking in terms of goto, and your control flow when you move on to real programs will be designed around gotos rather than the usual set of control structures. You do things like putting a block around code that has no logical relationship so you can use break to get to the end of it from a certain point.
After spending a few months writing the standard "Hello World", "Im thinking of a number.." style programs, then you can branch out almost anywhere.
Basic may be ok for that, but once you start learning about control flow you really need a language with the normal looping constructs. Rather than switching, especially at such an early stage, it's better to go for a language with them in from the start.
Python makes it a lot easier.
Much as I loathe Java, I have to disagree with you on this. Yes, manual memory management takes some learning - which is precisely why it's better to learn to program first and learn to manage your memory after. Yes, it's easier to learn Java after C than C after Java - but you don't do any less learning, you'll just spend more time learning C from scratch than you would with Java. Best to learn a language you can actually use and then more than doing a load of learning before you can write anything real.
Because I'm sure they're so happy with what they get from everywhere else.
But with python you can learn the rest of the language and completely ignore the OO stuff until you've learnt the core language, and that's how I teach it. And yet, when you come to use it, the OO is in there at a very deep level. That's what's so great about it.
C is a bad way to start - you need to learn how to do such grungy programming at some stage, but it can wait until you've done something nicer. Also, it's good to be able to introduce OO without switching languages. I recommend python for learning to program - simple syntax, enforced good indent style, language doesn't get in your way when you're doing simple things, but the advanced things including both OO and functional concepts are there for when you want or need to learn them. Only downside is many other languages are horrible by comparison - one advantage for learning C first is it makes you appreciate what you have with a modern language.
Yes, but the response to that is not to criticise the joke as if it was meant seriously.
Psychologically if nothing else, I find it's nicer to write a chunk of code and then get all the bugs out of it. This is easier to do when there's one place you find all the bugs (runtime).
Experience says it doesn't work like that. There are people who learn any and all of those well before the "normal" time. It's not about a sensitive period based on age. Maybe the reason people who don't develop it by a certain time struggle with it forever is that the reason they didn't develop it by that age is it's hard for them?
Indeed, but come on, you're going into *space*.
The girls drinking one seems more to be "approving of" than "disapproving and allowing to proceed". "it was in their home with their parents' consent.", "Nearly half of all mothers think underage drinking is acceptable," there is no mention of disapproval. "We will not condone torture/lawlessness" makes sense with either definition so is no evidence one way or another. The last one I'll give you, but even then...is she berating republicans for letting Bush carry on though they disapprove of him, or for approving of him? Either way makes sense.
Point, but if the components have been tested enough on the ground, the current amount of actual flights is more than enough to sort out any problems that come from the system as a whole. If cars had had thirty years of "lab" testing and then what, 60 5-day sessions of actual driving...it seems like it should be enough. I think early aeroplanes were far better after a similar amount of testing, though of course the environment isn't entirely foreign there (but still significantly different from the ground).
Of course, there's also the issue that the current vehicles are really too old for continued use, particularly those intended for human transport/habitation,
I think that has a lot more to do with the number of accidents than the tech being new and untested.
They're letting themselves sell DRMed music for it but not letting anyone else do so. That's a distinct market from unencumbered music. It doesn't matter if MS is letting you run all the games you want, if they're not letting you run competitors' office suites that's still a restriction.
What? They should be also forced to open up a 5th format that is key to Apple's business plan? Apple gives several viable ways to get the songs onto the machine and others think Apple should give more?
Yes, they should. They're selling it as a player, it's a monopoly player which gives them certain responsibilities. The player should be opened up to give everyone a level playing field when it comes to selling songs for it.
If this were Microsoft, I don't think ANY of us would be complaining? What? That Microsoft released an OS that required us to pay for their office components -- but if we wanted to use F/OSS equivelents they'd more then encourage us to do so -- in fact direct us to where we can get this stuff...
If they produced an OS that would let you buy their office components or use F/OSS equivalents, but wouldn't let you buy Lotus or anyone else's office suite.
or if someone wanted to charge for software but couldn't hook into their encryption
They were made to allow winamp, realplayer etc. to play (even DRMed) wma, and we said quite rightly so.
KDE runs fine on it. My 60mb (64 but it's shared with the graphics) celeron 650 machine can run KDE apps more responsively than Java on the duron.
The key thing, in my view, is swap space. A machine with 384MB and, say, 512MB of swap with that spec should give a reasonable performance. The delay in the GUI should be there at the start, but disappear as the JIT starts to work.
I set it up with a gig of swap so I didn't have to worry about that, and it has 384mb in there at the moment. GUI delay's still there in Azureus even when it's been running for several hours and I'm doing the same things I've been doing for all that time.
What's powering your car is, essentially, a (sequence of) controlled explosion(s). Sure, a rocket can never be 100% safe, but it can get close. Considering how rare manned space flights are (the average is what, a couple a year?) I'd say current performance is pretty poor. Sure, you expect this when you're working with new untested tech, but the shuttle shouldn't be that by this stage.
800mhz Duron. Ram varies between 128 and 384mb. Azureus, yaggui, jedit, then a few random ones I can't remember off freshmeat as a more unbiased comparison. Seconds is an exaggeration, but there is a noticeable, I'd say at least 500ms, delay between clicking something in the gui and having a response occur. I've tried blackdown 1.4, sun 1.4, and sun 1.5 JVMs.
Of course. God knows MS would never, you know, actually help their customers out.