But, i've seen plenty of very badly indented code which may not be a bug, but it adds significantly to the cost of maintaining the code. I'm not sure one is better than the other.
The only time we've ever had a problem with whitespace is when we copy and paste a big chunk of code and in my experience you are just as likely to have issues with {} in such cases. You'll have the right number of { and } (no compiler error), but their positions will change. More importantly, when you do move a big chunk of code you should make sure to test it a little better in your unit tests. I just don't see an obvious benefit to one over the other.
My company has been coding python apps for a couple years and we have had very few problems with the white space issue and when we have it's always been a quick fix. We usually put a newline between the blocks so it's visually obvious when a whitespace mistake occurs.
(i'm using . for spaces because I don't know how to keep the spaces on here)
if(a < 10): ....print 'woot' print 'a is less than 10' #this should be indented
print 'not in the if block'
This type of error has rarely occured for us. You combine the newline convention with decent (not ideal) unit tests and the benefits of python over java for example is well worth the slight problem whitespace issues may cause. Ruby is a completely different story though. If you don't like pythongs whitespace, but like the dynamics of it then I recommend ruby. problem solved:)
I've done a little python and don't mind it so much, and have only read a few tutorials on ruby and ruby on rails....
As a programming language I find [java] extremely productive on the client or server...
Is this a joke? You admit to never really using python or ruby enough to know how productive they are then assert that java is extremely productive? Extremely productive compared to what, counting on your fingers?
I think java is horrible for 100 level courses. You have to say "ignore all this 'static', 'class', and 'public' stuff. Just type it and you'll learn about it in a couple quarters. Not my idea of a good way to teach.
If I made changes to the database, I either had to a) wipe the directory and start over reimplementing my changes. Or b) go through all the MVC code and find the references to the database.
Can you give an example? I've used rails for atleast 5 different web apps and I've never had this problem. If you have a table called 'item' with a fields called 'price' then you have an object in rails called Item with a method called 'price' and you use it with: Item.price
Seems straight forward to me and if you add a column called 'sale_price' to your table then your Item.price line doesn't need to be changed and you can automatically use Item.sale_price
Did you pay attnetion to the video? Do you know the purpose of what is in the video? It's not to change a column in a table. The purpose of migrations is to have an automated way to apply changes across all your servers and roll them back if something isn't right. It's a very nice feature. Of course, you can log in to each server and manually type "alter table add author varchar", but I promise you won't be working at a serious shop if that's how you deploy database changes
"Yet, it seems that Ruby on Rails goes to great lengths to avoid (gasp!) SQL"
From your two posts it's clear you've never used rails before so why do you feel you have the knowledge to make such an assertion? Both of your posts are you arguing against what you think rails is when it's clear you have no idea what it does and how it does it. sad.
1. You'd do constraints in ruby rather than in the database in most situations.
2. You can easily do pure sql in ruby, you just don't need to for the most common tedious situations. i.e. it makes the commom/frequent stuff super easy and doesn't prevent you from doing the rare, but complex stuff.
I buy all my music from itms and have been for a while. I don't buy too much anymore because I already have most of what I want from itms and new stuff that is "good" doesn't come out that often. They could get a lot more sales if they put up the types of things I download from bt. Live versions, remixes, etc. They have to break the album model of thinking and release niche songs often. They've done a little of this, but not nearly enough.
When your learning it is nice to have a thought out progression of subjects. Searching around and finding good pieces of information here and there isn't a good learning environment for a beginner. I read one of his other books when I was just learning linux and it made life much easier for me.
I bought a imac, plugged it in, and everything worked.
I have a pc, and installed Suse on it. My internet was very very slow. I had to dig through docs to figure out that I needed to turn off ipv6. I had to install the flash plugin, java, and other things. Then one day I updated my kernel (via yast2) and my cd burner stopped working, my sound stopped working, along with other minor annoyances. I had to spend two days getting my system back to where it was before. I haven't had any problems with my mac. It just works.
"The problem surfaces when the "splogs" are used to comment spam and trackback spam legitimate blogs."
splogs and comment/trackback spam are two completely different things. The good news is that the splogger problem doesnt' really affect you and I. It's a problem for blogger/google to deal with. Comment spam, on the other hand, is a huge problem for those of us with blogs. Your right about the way to fight it. Spammers thrive on the patterns in blogs. Any coder can prevent almost all spam by renaming the files used for posting, changing the names of the form fields, etc. This isn't a solution for everybody, but it works really well for us geeks.
How do you know there haven't been many abuses of this? More importantly, how could you prove, or even find out, which competitor did something like this to you?
There's your problem -- you're mixing SQL code in with your app code. Bad developer! Bad! You're introducing SQL injection holes (I don't care how well you think you're filtering your input, chances are you missed something,
In this case, stored procedures shelter you from SQL injection attacks (assuming, of course, that your stored procedures aren't just dumb "take a string and 'exec' it as SQL code" queries).
I hope this makes the hole in your logic clear. Your saying that people will make mistakes in python that will create sql injection holes. You then say that stored procedures solve this problem as long as you don't make dumb mistakes. Um, what's the difference. Your simply pushing the problem into a layer that isn't as powerfull as a real programming language, and just generally is a pain to deal with because stored procedures aren't as easily integrated into your development processes (version control, unit testing, etc).
Are you sure about this? I'm a veteran, got out in 98, and I recall one of the important devices in our communications systems that was French made. I also find it hard to believe that all the eletronic components are american made. Maybe the product is put together by an america company, but I don't think the parts are all made in america.
jargon makes it a lot easier to talk to someone. Imagine trying to teach math without having lots of terms that represent sets of ideas. It would be impossible. It's also good for marketing which is very important unless you prefer using proprietary technologies like flash.
Did you read the article? I have no idea what your replying to.
He said that we took a step backwards in user interaction when we moved to web apps and that we need to make web apps with the same level of interaction as gui's. He then says that ajax isn't anything new, which is the same thing your saying to refute him!?!? This wasn't even his main theme, but it's the only thing remotely related to your rant.
This is so overly simplistic that I don't know where to begin. Let me start by saying that I was laid off from Worldcom after the bankruptcy. The switch I worked in had 13 tech's when I started and has only 2 today. Very few (1% maybe) of the employees at a large corporation are indispensible. This is done intentionally. Now back to my story. One of the two tech's left is very good and the other is one of the least productive. He kept his job because he'd been there forever (16 years) and he got along well with the manager. Of the 11 laid off only 3 or 4 have jobs in the same industry because thousands of telecom tech's were being laid off then and there were very few jobs. I hate to break your world view, but America isn't a meritocracy.
Vouchers definitely won't solve all problems. They should always be the FULL value that the public school would have spent - else they just become a subsidy for upper middle class folks sending their kids to preppy schools.
That sounds like a it might work, but I doubt that is how it would be proposed by politicians. Too bad the current politicians want to do things like no child left behind which is just political marketing and doesn't help anyone. It actually says that schools have to give their students information to military recruiters or they will lose federal funding! It also says that in 13 years (I think) that schools will lose their funding if 100% of their students aren't at grade level. This is impossible and only means that all schools will lose their funding if it isn't changed before then.
But, i've seen plenty of very badly indented code which may not be a bug, but it adds significantly to the cost of maintaining the code. I'm not sure one is better than the other.
The only time we've ever had a problem with whitespace is when we copy and paste a big chunk of code and in my experience you are just as likely to have issues with {} in such cases. You'll have the right number of { and } (no compiler error), but their positions will change. More importantly, when you do move a big chunk of code you should make sure to test it a little better in your unit tests. I just don't see an obvious benefit to one over the other.
Sorry, I just see so many "i've never tried ruby/python, but java is better because xyz" that I have a quick trigger.
Have you worked at a place that writes unit tests? It doesn't appear so cause they would catch this immediately.
Is this a joke? You admit to never really using python or ruby enough to know how productive they are then assert that java is extremely productive? Extremely productive compared to what, counting on your fingers?
I think java is horrible for 100 level courses. You have to say "ignore all this 'static', 'class', and 'public' stuff. Just type it and you'll learn about it in a couple quarters. Not my idea of a good way to teach.
Can you give an example? I've used rails for atleast 5 different web apps and I've never had this problem. If you have a table called 'item' with a fields called 'price' then you have an object in rails called Item with a method called 'price' and you use it with: Item.price Seems straight forward to me and if you add a column called 'sale_price' to your table then your Item.price line doesn't need to be changed and you can automatically use Item.sale_price
Did you pay attnetion to the video? Do you know the purpose of what is in the video? It's not to change a column in a table. The purpose of migrations is to have an automated way to apply changes across all your servers and roll them back if something isn't right. It's a very nice feature. Of course, you can log in to each server and manually type "alter table add author varchar", but I promise you won't be working at a serious shop if that's how you deploy database changes
"Yet, it seems that Ruby on Rails goes to great lengths to avoid (gasp!) SQL"
From your two posts it's clear you've never used rails before so why do you feel you have the knowledge to make such an assertion? Both of your posts are you arguing against what you think rails is when it's clear you have no idea what it does and how it does it. sad.
1. You'd do constraints in ruby rather than in the database in most situations.
2. You can easily do pure sql in ruby, you just don't need to for the most common tedious situations. i.e. it makes the commom/frequent stuff super easy and doesn't prevent you from doing the rare, but complex stuff.
I buy all my music from itms and have been for a while. I don't buy too much anymore because I already have most of what I want from itms and new stuff that is "good" doesn't come out that often. They could get a lot more sales if they put up the types of things I download from bt. Live versions, remixes, etc. They have to break the album model of thinking and release niche songs often. They've done a little of this, but not nearly enough.
You forgot the most important one for us programmers: Kate It's the best text editor I've ever used.
When your learning it is nice to have a thought out progression of subjects. Searching around and finding good pieces of information here and there isn't a good learning environment for a beginner. I read one of his other books when I was just learning linux and it made life much easier for me.
I bought a imac, plugged it in, and everything worked.
I have a pc, and installed Suse on it. My internet was very very slow. I had to dig through docs to figure out that I needed to turn off ipv6. I had to install the flash plugin, java, and other things. Then one day I updated my kernel (via yast2) and my cd burner stopped working, my sound stopped working, along with other minor annoyances. I had to spend two days getting my system back to where it was before. I haven't had any problems with my mac. It just works.
I know what your saying, but if they weren't linking to their splogs they'd be linking to some other kind of fake site.
"The problem surfaces when the "splogs" are used to comment spam and trackback spam legitimate blogs."
splogs and comment/trackback spam are two completely different things. The good news is that the splogger problem doesnt' really affect you and I. It's a problem for blogger/google to deal with. Comment spam, on the other hand, is a huge problem for those of us with blogs. Your right about the way to fight it. Spammers thrive on the patterns in blogs. Any coder can prevent almost all spam by renaming the files used for posting, changing the names of the form fields, etc. This isn't a solution for everybody, but it works really well for us geeks.
How do you know there haven't been many abuses of this? More importantly, how could you prove, or even find out, which competitor did something like this to you?
"But no 'splogger' is going to buy up thousands of IPs or domain names for their clever little scam."
Lol, they already do this. Domain names and IP's are very cheap compared to the amount of money you can make by ranking well.
Let's see if they still want to do it for free when they start doing the math or the coding.
I hope this makes the hole in your logic clear. Your saying that people will make mistakes in python that will create sql injection holes. You then say that stored procedures solve this problem as long as you don't make dumb mistakes. Um, what's the difference. Your simply pushing the problem into a layer that isn't as powerfull as a real programming language, and just generally is a pain to deal with because stored procedures aren't as easily integrated into your development processes (version control, unit testing, etc).
Even if it's produced by forced slave labor? Your extreme is just as ugly, if not more so, than the other (RMS) extreme.
Are you sure about this? I'm a veteran, got out in 98, and I recall one of the important devices in our communications systems that was French made. I also find it hard to believe that all the eletronic components are american made. Maybe the product is put together by an america company, but I don't think the parts are all made in america.
jargon makes it a lot easier to talk to someone. Imagine trying to teach math without having lots of terms that represent sets of ideas. It would be impossible. It's also good for marketing which is very important unless you prefer using proprietary technologies like flash.
Did you read the article? I have no idea what your replying to.
He said that we took a step backwards in user interaction when we moved to web apps and that we need to make web apps with the same level of interaction as gui's. He then says that ajax isn't anything new, which is the same thing your saying to refute him!?!? This wasn't even his main theme, but it's the only thing remotely related to your rant.
This is so overly simplistic that I don't know where to begin. Let me start by saying that I was laid off from Worldcom after the bankruptcy. The switch I worked in had 13 tech's when I started and has only 2 today. Very few (1% maybe) of the employees at a large corporation are indispensible. This is done intentionally. Now back to my story. One of the two tech's left is very good and the other is one of the least productive. He kept his job because he'd been there forever (16 years) and he got along well with the manager. Of the 11 laid off only 3 or 4 have jobs in the same industry because thousands of telecom tech's were being laid off then and there were very few jobs. I hate to break your world view, but America isn't a meritocracy.
That sounds like a it might work, but I doubt that is how it would be proposed by politicians. Too bad the current politicians want to do things like no child left behind which is just political marketing and doesn't help anyone. It actually says that schools have to give their students information to military recruiters or they will lose federal funding! It also says that in 13 years (I think) that schools will lose their funding if 100% of their students aren't at grade level. This is impossible and only means that all schools will lose their funding if it isn't changed before then.