Sorry. With "clean" I meant clean as in "designed well", opposed to "bolted on as an afterthought". And by roots I did not mean historical roots - I don't know much about those - but rather their foundational constructs... well. EINMMT.:)
I've used PHP, Perl, Ruby and Python (in that order) and I can confirm that Python is in fact cleaner. One of the reasons being it's spartan syntax. It's one of the goals of the language.:)
PHP is just ugly, (see grandparent) Perl and Ruby are quite fun and share the same philosophy (see TIMTOWTDI) where Python is just the opposite (although fun too).
Python and Ruby also share their deep roots in clean object orientation, where Perl's OO syntax is - though bolted on - very flexible and even more TIMTOWTDI than Ruby's.
Just to set things straight, I really like Perl, Ruby and Python, though I can confirm that developing web applications with Django is bliss.
The browser will then jump directly to the position of the anchor. If you use Firefox, you can remove the hover behaviour if you install the extension "Stylish" and then add a new CSS file for slashdot.org which looks like this:
On any system event do:
With a probability of $annoyance:
Ask the user to "Accept or decline"
On accept:
With a probability of $annoyance/3:
do system event
else
do something dangerous or harmful
On decline:
With a probability of $annoyance/3:
do something dangerous or harmful
else
do system event
else
do system event
$annoyance: either float(0..1) or int(0..100)
Re:As a longtime(past tense) PHP developer I can s
on
PHP 5 in Practice
·
· Score: 1
Let me tell you something about the slander you hear all over the internet: It's all true.
Re:Informative? This is A Flamebait post.
on
PHP 5 in Practice
·
· Score: 2, Informative
bullshit
So why do you post anonymously?:-)
This person has probably never coded PHP, but has programmed in other languages much, and jumped ship to ruby.. He is a Ruby fanboy, He has the sense to search bugs that point out some flaws in PHP, but I can easily paste links to a bunch of ruby bugs.
Please do. I am sure they are 1. already fixed or 2. not present in the new parser (YARV) which is going to be Ruby 2.0
I began coding PHP around 1997. Then I did not know better. Now I do. Although I generally program in languages featuring a garbage collector (memory allocation is not mine) I keep adding new language to my tool belt on a regular basis. Python is next.
Furthermore, Ruby compared to PHP is an even lazier language. You probably dont have to understand many programming concepts if you can cut countless hours into minutes with Ruby. The language does not encourage strong security, good coding practices, and last time I checked the development of the project is only a few years old. I remember PHP's functions just fine, and are you going to make fun of c++ or java for their wierd naming of functions and classes? And don't get me started on the original Ruby "how to code ruby in 10 minutes" video, where the guy is having to change the config files over and over just to get the thing to work.. Mod parent flaimbate..
Please get your facts right when flaming. Ruby was started in 1993. PHP/FI was started in 1994. At that time PHP was not even a language. PHP3 (on which all the crap of today is built) was released in 1997!
Re:As a longtime(past tense) PHP developer I can s
on
PHP 5 in Practice
·
· Score: 1
Well, theres why's (poignant) guide to ruby which is licensed under creative commons. So it could be that somebody made a book on demand out of it. Personally I used "Programming Ruby" of which the first edition is also available online. "Rails Recipes" is a very good reference book for repeating patterns using Ruby on Rails. Rails though also has it's annoyances so I am trying to find an excuse to build something with Django and Python.
Re:As a longtime(past tense) PHP developer I can s
on
PHP 5 in Practice
·
· Score: 2, Interesting
Are you SURE it was PHP? I wonder how you could spend "countless hours" debugging PHP code? I've been at the PHP language for years and the one thing you CAN say about PHP vs other languages is that it shouldn't take "countless hours" to debug. I mean...countless hours? Ate your soul? Perhaps programming isn't really for you. Maybe sales? or marketing?
You are right. It shouldn't take countless hours to debug. Note my emphasis. Debugging code written by a sane developer in any sane language would not take countless hours. Yet the world is full of programmers which abuse PHP to a level where you start to get the feeling that a complete rewrite of "the thing" is "the way to go". Many of these programmers are good programmers and rather build abstraction-layers instead of spaghetti-code. On the other hand, 20 layers of abstraction on top of each other do not make it easier to find that bug that is hunting you (through Sales, or Marketing).
And in the rare case when you actually find that bug, it turns out you can't fix it because the whole card-house would crumble into oblivion if you did. So you build workarounds (which accumulate) that are the heralds of death of the system.
I should have said that I did not in fact write the whole 30ish MB code base myself. I inherited it and got to live with it or do something else. It wasn't planned, it wasn't built using development methodologies (think XP, Scrum, etc.) but rather using a whip. The explanation for the system then is something along the lines of "It has grown organically.".
And although I see myself primarily as a programmer, I am in fact working on extending my abilities to encompass marketing. So your evaluation flatters me.;-)
As a longtime(past tense) PHP developer I can say:
on
PHP 5 in Practice
·
· Score: 3, Informative
PHP books are good for one thing - making some money for the author(s). That being out of the way, here comes the rant:
With languages like Ruby, Python, Perl, etc. around, why bother with PHP?
PHP has:
no first-class functions (and no, create_function does not count)
countlessotherhorrible mis-designed "features" (not even starting on the security problems)
It does however have a good documentation. Without it though, programming PHP would be impossible. Try coding PHP without the documentation at hand.
"Was it function_name($foo, $bar) or functionname($bar, $foo)? Or rather prefix_function_name($foo,$bar,$baz) where $baz is always empty?"
I could go on and on. These are just the facts. What I ignored are the countless hours I wasted trying to debug some perfectly good looking piece of code only to find out in the end that PHP is the problem. On that occasions PHP ate away a part of my soul. (pretty poignant, eh?)
And yes, in case you wonder, I did very large PHP stuff. Megabytes of code in CVS. Luckily no more. (Could be written in kilobytes of Ruby anyway.)
Seriously, I agree with most their findings and strategies to mitigate the risks of theft, lost privacy, etc. I also find it noteworthy that the Mic and Cam both have a direct wired LED to indicate activation of said components, where the LED can not be turned on/off by software at all. Thus eavesdropping becomes evident. The spec is a nice read and most points Ivan makes are (from my standpoint) well thought through and sensible for the environment in which the XO is to be deployed.
What I object against though, is point 8.12 (P_X) of the spec. As I understand it, as long as you happen to be in possession of a "trusted" key to the machine (which will certainly be OLPC and the government of the child in posession of the XO) you may eavesdrop on any resource of the X window system as you see fit? Correct me if I am wrong, but AFAIK the X protocol was never designed with security in mind. So sending commands to another program might also impicitly mean the ability to check the state of that program.
Would any X expert please confirm or dismiss this, as I can't becase I'm no X expert myself.
Please note that the company offering Yahoo domains' service differs from country to country.
Their scheme works this way (as you already found out): Yahoo! interconnects its users via an obscure login algorithm involving a shared secret and some header redirects to a company which functions as a domain registrar. Yahoo! never shares any account information with said company, so you (as customer) have to register twice: Once for Yahoo! and the second time for the registrar.
The fact that they converted you to a native user of themselves to transfer your domain is sound. I once worked for a company which provided the same service (different country) for Yahoo!. We did exactly the same because Yahoo! messed with the logins of our users (lost them, etc.) and generally were totally incompetent and unhelpful to its contractors (us). The additional work overhead when dealing with Yahoo! is enormous.
See. This is exactly the problem I have with it. You have to know it. I had to remember so much, PHP.net was my most visited website for a long time.
Using other languages I had to remember less - thus not required to look up the manual as often and thus was more productive. I try to avoid PHP as best as I can. This site goes into more detail if you like.
I used to do PHP. Black days really. In retrospect I can no longer understand how I could stand it at all. I wasted so much time on idiosyncrasies of the interpreter it hurts to think about it. Ever wondered why your variables suddenly, unexpectedly changed only to find out some nutter activated register_globals on this particular installation. Btw. try this: if ("0" == false) print "This sucks!";
Then I really discovered Perl5. Played with it before, but never really used it much. Anonymous subs! Closures! Regexp operators! Construct code at runtime! I got to appreciate the simplicity of Perl, though the sigils (\%@) drove me crazy at times. I also enjoyed Perl golfing a lot, though not at a very high level.;-)
Then came along Ruby. I loved it instantly! It was how Perl should have been. It also has probably the best introduction to it of ANY language. Check it out, it's worth it.
Regarding things I really love in Ruby: Blocks and Rubys Object system. Through these two things you can write code without temporary variables. Functional programming sneaked up on me through the backdoor.:-) It's really nice. No side effects. Compare that to PHP!
Interrestingly - Perl6 got much more like Ruby, and adds tons of new stuff (Rules, etc.) I did not fully explore it, but intend to. I did not find a suitable entry into it yet.
The only sad thing is, knowing Ruby I today have no strong drive to learn Python though very interresting projects (OLPC) use it. Perhaps OLPC will get my point of entry for Python.
The movie, produced 1972 while the Internet was still a toddler, is titled Computer Networks: The Heralds of Resource Sharing. There is also a Wikipedia article about the film.
I watched this video a while ago. I think this is an appropriate time and place to bring it up.
Now that would be neat.
Hardy Heron.
For a really great and thought provoking talk about concurrency watch this Techtalk about Newsqueak given by Rob Pike of Plan9 fame.
:) No, really.
Build channels as first-class citizens into Python.
Sorry. With "clean" I meant clean as in "designed well", opposed to "bolted on as an afterthought". And by roots I did not mean historical roots - I don't know much about those - but rather their foundational constructs... well. EINMMT. :)
Of course it is subjective. Otherwise we would all be stuck with COBOL. It is turing complete after all!
I've used PHP, Perl, Ruby and Python (in that order) and I can confirm that Python is in fact cleaner. One of the reasons being it's spartan syntax. It's one of the goals of the language. :)
PHP is just ugly, (see grandparent) Perl and Ruby are quite fun and share the same philosophy (see TIMTOWTDI) where Python is just the opposite (although fun too).
Python and Ruby also share their deep roots in clean object orientation, where Perl's OO syntax is - though bolted on - very flexible and even more TIMTOWTDI than Ruby's.
Just to set things straight, I really like Perl, Ruby and Python, though I can confirm that developing web applications with Django is bliss.
The titles are anchors, a sort of in-document links. They are itself not clickable, but a valid target to link to via
http://example.com/url/#anchor
The browser will then jump directly to the position of the anchor. If you use Firefox, you can remove the hover behaviour if you install the extension "Stylish" and then add a new CSS file for slashdot.org which looks like this:
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain(slashdot.org) {
div.title h4 a { text-decoration: none !important; }
}
Have fun.
If you win, the software MUST be faulty.
Easy. I'd like it to have these features of course.
Though they gradually sneak into Linux anyway. So no big deal.
Kudos. This is the first sane comment I read thus far. (Please mod up!)
Let me tell you something about the slander you hear all over the internet: It's all true.
I began coding PHP around 1997. Then I did not know better. Now I do. Although I generally program in languages featuring a garbage collector (memory allocation is not mine) I keep adding new language to my tool belt on a regular basis. Python is next.Please get your facts right when flaming. Ruby was started in 1993. PHP/FI was started in 1994. At that time PHP was not even a language. PHP3 (on which all the crap of today is built) was released in 1997!
Well, theres why's (poignant) guide to ruby which is licensed under creative commons. So it could be that somebody made a book on demand out of it. Personally I used "Programming Ruby" of which the first edition is also available online. "Rails Recipes" is a very good reference book for repeating patterns using Ruby on Rails. Rails though also has it's annoyances so I am trying to find an excuse to build something with Django and Python.
And in the rare case when you actually find that bug, it turns out you can't fix it because the whole card-house would crumble into oblivion if you did. So you build workarounds (which accumulate) that are the heralds of death of the system.
I should have said that I did not in fact write the whole 30ish MB code base myself. I inherited it and got to live with it or do something else. It wasn't planned, it wasn't built using development methodologies (think XP, Scrum, etc.) but rather using a whip. The explanation for the system then is something along the lines of "It has grown organically.".
And although I see myself primarily as a programmer, I am in fact working on extending my abilities to encompass marketing. So your evaluation flatters me.
With languages like Ruby, Python, Perl, etc. around, why bother with PHP?
PHP has:
It does however have a good documentation. Without it though, programming PHP would be impossible. Try coding PHP without the documentation at hand.
"Was it function_name($foo, $bar) or functionname($bar, $foo)? Or rather prefix_function_name($foo,$bar,$baz) where $baz is always empty?"
I could go on and on. These are just the facts. What I ignored are the countless hours I wasted trying to debug some perfectly good looking piece of code only to find out in the end that PHP is the problem. On that occasions PHP ate away a part of my soul. (pretty poignant, eh?)
And yes, in case you wonder, I did very large PHP stuff. Megabytes of code in CVS. Luckily no more. (Could be written in kilobytes of Ruby anyway.)
"But over the next few months I think you're going to start hearing more and more."
Yeah. More vaporware for the sheep to salivate over.
My guess: To be released 2014.
Wow, I read the whole FA. I must be new here.
Seriously, I agree with most their findings and strategies to mitigate the risks of theft, lost privacy, etc. I also find it noteworthy that the Mic and Cam both have a direct wired LED to indicate activation of said components, where the LED can not be turned on/off by software at all. Thus eavesdropping becomes evident. The spec is a nice read and most points Ivan makes are (from my standpoint) well thought through and sensible for the environment in which the XO is to be deployed.
What I object against though, is point 8.12 (P_X) of the spec. As I understand it, as long as you happen to be in possession of a "trusted" key to the machine (which will certainly be OLPC and the government of the child in posession of the XO) you may eavesdrop on any resource of the X window system as you see fit? Correct me if I am wrong, but AFAIK the X protocol was never designed with security in mind. So sending commands to another program might also impicitly mean the ability to check the state of that program.
Would any X expert please confirm or dismiss this, as I can't becase I'm no X expert myself.
Funny how the XO gets sold to governments and not geeks.
Please note that the company offering Yahoo domains' service differs from country to country.
Their scheme works this way (as you already found out): Yahoo! interconnects its users via an obscure login algorithm involving a shared secret and some header redirects to a company which functions as a domain registrar. Yahoo! never shares any account information with said company, so you (as customer) have to register twice: Once for Yahoo! and the second time for the registrar.
The fact that they converted you to a native user of themselves to transfer your domain is sound. I once worked for a company which provided the same service (different country) for Yahoo!. We did exactly the same because Yahoo! messed with the logins of our users (lost them, etc.) and generally were totally incompetent and unhelpful to its contractors (us). The additional work overhead when dealing with Yahoo! is enormous.
You also got the facts wrong. Geoffrey Grosenbach placed an initial bet on Rubinius which got the whole donation thing started.
Using other languages I had to remember less - thus not required to look up the manual as often and thus was more productive. I try to avoid PHP as best as I can. This site goes into more detail if you like.
I used to do PHP. Black days really. In retrospect I can no longer understand how I could stand it at all. I wasted so much time on idiosyncrasies of the interpreter it hurts to think about it. Ever wondered why your variables suddenly, unexpectedly changed only to find out some nutter activated register_globals on this particular installation. Btw. try this: if ("0" == false) print "This sucks!";
;-)
:-) It's really nice. No side effects. Compare that to PHP!
Then I really discovered Perl5. Played with it before, but never really used it much. Anonymous subs! Closures! Regexp operators! Construct code at runtime! I got to appreciate the simplicity of Perl, though the sigils (\%@) drove me crazy at times. I also enjoyed Perl golfing a lot, though not at a very high level.
Then came along Ruby. I loved it instantly! It was how Perl should have been. It also has probably the best introduction to it of ANY language. Check it out, it's worth it.
Regarding things I really love in Ruby: Blocks and Rubys Object system. Through these two things you can write code without temporary variables. Functional programming sneaked up on me through the backdoor.
Interrestingly - Perl6 got much more like Ruby, and adds tons of new stuff (Rules, etc.) I did not fully explore it, but intend to. I did not find a suitable entry into it yet.
The only sad thing is, knowing Ruby I today have no strong drive to learn Python though very interresting projects (OLPC) use it. Perhaps OLPC will get my point of entry for Python.