Paul Prescod wrote:
> When Java came out I was an early adopter because sometimes somebody needs to move beyond what "everyone else is doing" (which was C/C++). I've since moved on to Python.
You were an early adopter of Java and have since moved on to Python?
Posting by Ted Shieh, replying to assertions by Paul Prescod.
Paul Prescod wrote:
> the pack hasn't chosen Python yet. Three years from now, they
> will and you will and I may be on to something new.
Well, do you want to bet? How about this, we'll count how many times Python appears in
the want ads vs. Java in the New York Times on the first Thursday in November of 2001?
I think you're wrong, and we won't have to wait until 2001 to verify the truth or
falseness of "they will and you will." Just check the want ads in a national newspaper
from time to time.
>It makes no sense to go to an *effect* of power when you can go directly
>to the source. Examine the languages, compare the lines of code it
>requires to do various jobs.
You should think a little more before you say "no sense." Here's a link worth
visiting:
http://dir.yahoo.com/Computers_and_Internet/Progra mming_Languages/
I suppose that if I listen to you, I should ignore how widely each of these languages
are used and simply evaluate them all at "the source." Of course, it's going to take
me awhile to get through them all; I have to prioritize somehow. I guess I can start
with the language called "ABC" (which I had never heard of before, but I guess I
shouldn't let that be a factor).
It makes total sense that I would want to consider the more readily measured effect of
power. One of effect of power is the popularity, and we can use the numbers next to
the links as a kind of Web Popularity. It is biased in favor of Internet-oriented
languages, sure, but these numbers are still mostly in line with what you'll see in the
want ads (which is something of some importance). Java, C, C++, Perl, and VB all get
high numbers and often appear in want ads. ABC, cT, and Cecil get 1's. And I wouldn't
be surprised to see other languages not on this list. Should I give ABC and C equal
attention? Sure, if I want to quit my job to work on my comparison full-time.
Ultimately, most of code because that is what we get paid to do, and it makes a lot of
sense that we should pay attention to whether we can get paid to do it now and and in
the future.
It makes total sense.
Well, your 1998 prediction didn't come true by 2001, and it still hasn't come true. The "pack" hasn't chosen Python and neither have I. Are you going to admit you were wrong? My guess would be no. Maybe you'll argue that the "pack" actually has chosen Python. And I'll admit that Python has had a few successes, like BitTorrent. I'll even admit that the language has some nice characteristics. But, chosen by the "pack?" No.
I'd say that if the "pack" is starting to move onto something else, that something else is PHP.
In 1998, you mentioned that you may be on to something new by 2001. Well, on to something new yet, in 2003? Just asking - I'm not assuming what your answer will be.
Perhaps I should start the PixelDate.com Whitehole List (PWL), a list of IPs that have been blocked, but shouldn't be. Naturally, it would be optional for ISPs to subscribe to the PWL - and presumably, they would only do so if they believe that the advantages outweigh the disadvantages. Of course, it would take a certain amount of effort to keep the list up-to-date. But if this service adds value, they should be willing to pay for it, shouldn't they? What do you think would be a fair price for a subscription to the PWL?
We use WinCvs and Chora to version control both source code and documentation. In fact, it is because we were using Chora as a web interface to our documentation that I uncovered a bug a month or two ago affecting the handling of filenames with spaces (like Marketing Proposal 1.doc) that we often see in documents created by non-programmers. I fixed the bug myself and contributed the fix back into the Chora project, so you shouldn't see this problem in the latest version of Chora). I've packaged recent versions of Chora into zip files - available for download here. (Use Ctrl-F to search for Chora on the page)
I have to admit, though, that while the non-technical people at our company have managed to learn how to use CVS, it was not without a lot of struggle on their part. Maybe SourceSafe or Perforce would have been a better choice. Even so, what we have now works and people have become familiar with it, so I don't think we'll change.
On the subject of whether one should design the application or the database first:
Check out PHPMyEdit. You can design the database first and then use PHPMyEdit to generate the code for the application.
I'm not saying that in every case you should design the database first - I'm just pointing out that in this particular case, you would definitely want to design the database first. Of course, PHPMyEdit might not give you exactly the application you want, but it's good for prototyping.
PHP generally handles errors better - with PHP I see informative error messages instead of "Internal Server Error" in my edit-debug-run cycles. Of course, you can use CGI::Carp 'fatalsToBrowser' in Perl to get better error handling, but even with that turned on, I still see "Internal Server Error" more often with Perl than with PHP (maybe I'm not using CGI::Carp 'fatalsToBrowser' correctly? The Perl programs I work with call subroutines spread out over many files - does CGI::Carp 'fatalsToBrowser' need to be in each file?)
PHP has a standard mechanism for HTML embedding - with Perl, you need to choose between Mason, Embperl, and Active Perl with ASP. (Also, do any books cover Mason or Embperl?)
There are some very quality open-source PHP programs available. Some leading examples: Drupal, a Slashdot-like news system, phpShop, an e-commerce system, and Chora, the nicest web interface to CVS I've seen (BTW I've prepared a zip file of Chora so that people can have an easier way to download it than by using cvs checkout. Use Ctrl+F to search for Chora here)
cleaner syntax for classes and functions
PHP vs JSP
Web hosting for PHP and Perl tends to be cheaper than for JSP/servlets. PHP: $8.95 per month with WestHost.com, $7.50 per month with JTLNet.net, free with DataBlocks.net (but with domain name restrictions). JSP: $24.99 with MMAWEB. Contact me if you know of a cheaper JSP/servlet hosting provider.
The first time you execute a JSP, you have to wait for the underlying servlet to be compiled. This slows down edit-run-debug cycles, though it shouldn't have much of an effect on the operational performance since recompilation is not needed in subsequent executions.
The lack of string interpolation in Java leads to awkward construction of strings with embedded variables. Compare:
PHP:
$adjective1 = 'quick';
$animal1 = 'fox';
$adjective2 = 'lazy';
$animal2 = 'dog';
print "The $adjective1 brown $animal1 jumps over the $adjective2 $animal2";
I think the killer app in this space (open source scripting language-based news/content management systems) is really PHPNuke, which is adding new users on a daily basis.
I thought about using JDOM (especially after reading Brett McLaughlin's Java and XML), but I hesitate to use it right now because it is still in beta. The absence of release, milestone, or even nightly builds at http://www.jdom.org/downloads/index.html adds to my discomfort with JDOM. Don't get me wrong - I think JDOM is a great idea - but I will have a hard time justifying to my co-workers the use of beta software in building a system that should go into production within the next two months. For now, I've decided to use Xerces, partly because it is well-documented (I found the DOMFilter example code to be particularly useful) and partly because some of my co-workers have already used the C++ version.
Plugging my site? This looks like a case of the pot calling the kettle black.
Let's review what you have done, since you say that I have plugged my site - and compare.
You plug an article on ReviewBoard.com.
redir writes "There is an interesting article on Reviewboard.com about Sun's bigboy E10k million dollar servers.
It turns out that the article is a plagiarism of AtariDataCenter's work.
You insult AtariDataCenter publicly and repeatedly
L. Ron McKenzie points out that Whois lists the administrative contact for ReviewBoard as Philip Ferreira and that a certain redir (philip@ferreira.net) used to post to Slashdot.
Whois info:
Administrative Contact, Technical Contact, Billing Contact:
Ferreira, Philip (PF2861) philip@GWI.NET
Reviewboard Magazine
913 Elm Street, Suite 500
Manchester, NH 03101
603-625-1564
Google search for "philip ferreira" +slashdot turns up:
Slashdot:3D LCD Screen without Glasses... I believe this was on slashdot alittle while ago... The technique involves... Accurate
(Score:1) by redir (philip@ferreira.net) on Wednesday April 21, @12...
So, yes, I put in a little plug for my site at the bottom of my post - with a little smiley face acknowledging that yes, this is a plug. The evidence points to you also making a plug for a site you are affiliated with (a site for which you are the administrative contact). But, look at the difference! And let's review your "apology":
Redir: But yeah... I was wrong, an apology? No I am not sorry for having an opinion
Redir: Err... wait a minute... poor ataristickuphisass(sorry but I'm working out my anger guy) his article was ganked!!
I think it is interesting to compare AtariDataCenter (henceforth ADC) and Redir's language.
When did the ad hominem attack start?
In ADC's initial post, he (understandably) indicates that he is pissed, but does not attack ADC. Redir's first response refers to ADC's work as a "theft", so I would call this the first attack. ADC's response uses some sarcarsm (Riiiiigggghtttt), but is generally fairly civil. ADC responds with another attack, this time referring to ADC as a fraud and accusing him of lying.
Sampling of later language
Redir: you and your lamer friend
ADC: Your latest statement is further evidence of the fraud going on here.
Redir: ah no that's not me lewser
Redir: lewser... was the article you stole from Reviewboard in all caps?
Redir: shit a big site I go to all the time, vs. lamer eopinion article
(ADC does not make enough ad hominem attacks to sample)
Redir: I was wrong, an apology? No I am not sorry for having an opinion
Redir: Err... wait a minute... poor ataristickuphisass(sorry but I'm working out my anger guy) his article was ganked!!
Redir (last post): I reall did though you bastard!
I think it's pretty clear who the more mature person here is.
Re:School isn't just to get a job
on
CS vs CIS
·
· Score: 1
Let's suppose that someone has the following interests:
spending money on hot women
buying a hot car
buying a big house (plus a greenhouse for the plants, a doghouse for the dog, and a hothouse to raise the kids to be overachievers)
eating hot and spicy food in expensive restaurants
traveling to hot (or at least pleasantly temperate) foreign countries
Given this set of interests, what should he study?
Also, he wants to do all of these things while he is still young, so don't recommend medical school.
My recommendation (assuming the person is not on the path to acting, sports, literary, etc. stardom and has fairly good logical thinking skills): Java and Oracle. Or maybe PHP and MySQL. Or derivatives pricing theory. Not that any of these skills guarantee being able to do any of the things listed above, but they will help to at least make the funds available.
Some people enjoy spending money more than they enjoy studying. Does this mean they shouldn't study? Some (OK, most) children enjoy playing more than they enjoy studying.
I don't know with any certainty whether the job market for CIS vs. CS graduates is better, but I would guess that employers will be more impressed by the CS degree. Personally, I would be most impressed by the candidate's ability to demonstrate code (to actually be able to write a short program (possibly in pseudo-code) to solve a given problem) in an interview.
Personally, I think the best place to start is with HTML. It is easy for newcomers to programming to get discouraged (typically, by programs that fail to compile for no obvious reason), but HTML is easy enough that most people can quickly see some real and very satisfying progress within days or hours. Of course, it not "real" programming, but it is similar enough in some crucial aspects (source code that is "executed", edit-run/view-debug cycles) to serve as a gentle introduction. Another way to look at this is that someone who is unable to handle something as easy as HTML is probably going to have serious difficulties with "real" programming languages like C or Java. In the same vein, if you can't even get a "Hello World" program to compile, you're probably not going to embark on a project to create a new OS. After HTML, I recommend proceeding to JavaScript, PHP, and finally MySQL. These are all practical skills (think of PHP as a introduction to ASP or JSP and MySQL as an introduction to Oracle), and in course of learning them, one can become familiar with some of the key technologies that drive e-commerce (in particular, how to create a database-backed website).
I created a web page a few weeks ago about why I think HTML->JavaScript->PHP->MySQL is a good path of learning - check it out if you want more details about my line of reasoning http://www.lmarkets.com/dev/path.shtml.
> When Java came out I was an early adopter because sometimes somebody needs to move beyond what "everyone else is doing" (which was C/C++). I've since moved on to Python.
You were an early adopter of Java and have since moved on to Python?
Look at this posting from November 5, 1998:
Well, your 1998 prediction didn't come true by 2001, and it still hasn't come true. The "pack" hasn't chosen Python and neither have I. Are you going to admit you were wrong? My guess would be no. Maybe you'll argue that the "pack" actually has chosen Python. And I'll admit that Python has had a few successes, like BitTorrent. I'll even admit that the language has some nice characteristics. But, chosen by the "pack?" No.
I'd say that if the "pack" is starting to move onto something else, that something else is PHP.
In 1998, you mentioned that you may be on to something new by 2001. Well, on to something new yet, in 2003? Just asking - I'm not assuming what your answer will be.
These PHP programs are noteworthy.
Perhaps I should start the PixelDate.com Whitehole List (PWL), a list of IPs that have been blocked, but shouldn't be. Naturally, it would be optional for ISPs to subscribe to the PWL - and presumably, they would only do so if they believe that the advantages outweigh the disadvantages. Of course, it would take a certain amount of effort to keep the list up-to-date. But if this service adds value, they should be willing to pay for it, shouldn't they? What do you think would be a fair price for a subscription to the PWL?
We use WinCvs and Chora to version control both source code and documentation. In fact, it is because we were using Chora as a web interface to our documentation that I uncovered a bug a month or two ago affecting the handling of filenames with spaces (like Marketing Proposal 1.doc) that we often see in documents created by non-programmers. I fixed the bug myself and contributed the fix back into the Chora project, so you shouldn't see this problem in the latest version of Chora). I've packaged recent versions of Chora into zip files - available for download here. (Use Ctrl-F to search for Chora on the page)
I have to admit, though, that while the non-technical people at our company have managed to learn how to use CVS, it was not without a lot of struggle on their part. Maybe SourceSafe or Perforce would have been a better choice. Even so, what we have now works and people have become familiar with it, so I don't think we'll change.
On the subject of whether one should design the application or the database first:
Check out PHPMyEdit. You can design the database first and then use PHPMyEdit to generate the code for the application. I'm not saying that in every case you should design the database first - I'm just pointing out that in this particular case, you would definitely want to design the database first. Of course, PHPMyEdit might not give you exactly the application you want, but it's good for prototyping.
- PHP generally handles errors better - with PHP I see informative error messages instead of "Internal Server Error" in my edit-debug-run cycles. Of course, you can use CGI::Carp 'fatalsToBrowser' in Perl to get better error handling, but even with that turned on, I still see "Internal Server Error" more often with Perl than with PHP (maybe I'm not using CGI::Carp 'fatalsToBrowser' correctly? The Perl programs I work with call subroutines spread out over many files - does CGI::Carp 'fatalsToBrowser' need to be in each file?)
- PHP has a standard mechanism for HTML embedding - with Perl, you need to choose between Mason, Embperl, and Active Perl with ASP. (Also, do any books cover Mason or Embperl?)
- There are some very quality open-source PHP programs available. Some leading examples: Drupal, a Slashdot-like news system, phpShop, an e-commerce system, and Chora, the nicest web interface to CVS I've seen (BTW I've prepared a zip file of Chora so that people can have an easier way to download it than by using cvs checkout. Use Ctrl+F to search for Chora here)
- cleaner syntax for classes and functions
PHP vs JSPPHP:
$adjective1 = 'quick';
$animal1 = 'fox';
$adjective2 = 'lazy';
$animal2 = 'dog';
print "The $adjective1 brown $animal1 jumps over the $adjective2 $animal2";
JSP:
String adjective1 = "quick";
String animal1 = "fox";
String adjective2 = "lazy";
String animal2 = "dog";
String output = "The " + adjective1 + " brown " + animal1 + " jumps over the " + adjective2 + " " + animal2;
angle-bracket percent equals output percent angle-bracket
Here's a better download URL (use Ctrl+F to search for Chora on the page). The URL I previously posted will quickly become outdated.
Chora provides an aesthetically pleasing PHP-based web interface for CVS. Here's a zip file for download.
I think the killer app in this space (open source scripting language-based news/content management systems) is really PHPNuke, which is adding new users on a daily basis.
I thought about using JDOM (especially after reading Brett McLaughlin's Java and XML), but I hesitate to use it right now because it is still in beta. The absence of release, milestone, or even nightly builds at http://www.jdom.org/downloads/index.html adds to my discomfort with JDOM. Don't get me wrong - I think JDOM is a great idea - but I will have a hard time justifying to my co-workers the use of beta software in building a system that should go into production within the next two months. For now, I've decided to use Xerces, partly because it is well-documented (I found the DOMFilter example code to be particularly useful) and partly because some of my co-workers have already used the C++ version.
Plugging my site? This looks like a case of the pot calling the kettle black.
Let's review what you have done, since you say that I have plugged my site - and compare.
- You plug an article on ReviewBoard.com.
redir writes "There is an interesting article on Reviewboard.com about Sun's bigboy E10k million dollar servers.
- It turns out that the article is a plagiarism of AtariDataCenter's work.
- You insult AtariDataCenter publicly and repeatedly
- L. Ron McKenzie points out that Whois lists the administrative contact for ReviewBoard as Philip Ferreira and that a certain redir (philip@ferreira.net) used to post to Slashdot.
... I believe this was on slashdot alittle while ago... The technique involves ... Accurate
(Score:1) by redir (philip@ferreira.net) on Wednesday April 21, @12 ...
So, yes, I put in a little plug for my site at the bottom of my post - with a little smiley face acknowledging that yes, this is a plug. The evidence points to you also making a plug for a site you are affiliated with (a site for which you are the administrative contact). But, look at the difference! And let's review your "apology":Whois info:
Administrative Contact, Technical Contact,
Billing Contact:
Ferreira, Philip (PF2861) philip@GWI.NET
Reviewboard Magazine
913 Elm Street, Suite 500
Manchester, NH 03101
603-625-1564
Google search for "philip ferreira" +slashdot turns up:
Slashdot:3D LCD Screen without Glasses
Redir: But yeah... I was wrong, an apology? No I am not sorry for having an opinion
Redir: Err... wait a minute... poor ataristickuphisass(sorry but I'm working out my anger guy) his article was ganked!!
I think it is interesting to compare AtariDataCenter (henceforth ADC) and Redir's language.
:)
When did the ad hominem attack start?
In ADC's initial post, he (understandably) indicates that he is pissed, but does not attack ADC. Redir's first response refers to ADC's work as a "theft", so I would call this the first attack. ADC's response uses some sarcarsm (Riiiiigggghtttt), but is generally fairly civil. ADC responds with another attack, this time referring to ADC as a fraud and accusing him of lying.
Sampling of later language
Redir: you and your lamer friend
ADC: Your latest statement is further evidence of the fraud going on here.
Redir: ah no that's not me lewser
Redir: lewser... was the article you stole from Reviewboard in all caps?
Redir: shit a big site I go to all the time, vs. lamer eopinion article
(ADC does not make enough ad hominem attacks to sample)
Redir: I was wrong, an apology? No I am not sorry for having an opinion
Redir: Err... wait a minute... poor ataristickuphisass(sorry but I'm working out my anger guy) his article was ganked!!
Redir (last post): I reall did though you bastard!
I think it's pretty clear who the more mature person here is.
BTW Here's another language comparison I am the author of: http://www.lmarkets.com
- spending money on hot women
- buying a hot car
- buying a big house (plus a greenhouse for the plants, a doghouse for the dog, and a hothouse to raise the kids to be overachievers)
- eating hot and spicy food in expensive restaurants
- traveling to hot (or at least pleasantly temperate) foreign countries
Given this set of interests, what should he study? Also, he wants to do all of these things while he is still young, so don't recommend medical school.My recommendation (assuming the person is not on the path to acting, sports, literary, etc. stardom and has fairly good logical thinking skills): Java and Oracle. Or maybe PHP and MySQL. Or derivatives pricing theory. Not that any of these skills guarantee being able to do any of the things listed above, but they will help to at least make the funds available.
Some people enjoy spending money more than they enjoy studying. Does this mean they shouldn't study? Some (OK, most) children enjoy playing more than they enjoy studying.
I don't know with any certainty whether the job market for CIS vs. CS graduates is better, but I would guess that employers will be more impressed by the CS degree. Personally, I would be most impressed by the candidate's ability to demonstrate code (to actually be able to write a short program (possibly in pseudo-code) to solve a given problem) in an interview.
Personally, I think the best place to start is with HTML. It is easy for newcomers to programming to get discouraged (typically, by programs that fail to compile for no obvious reason), but HTML is easy enough that most people can quickly see some real and very satisfying progress within days or hours. Of course, it not "real" programming, but it is similar enough in some crucial aspects (source code that is "executed", edit-run/view-debug cycles) to serve as a gentle introduction. Another way to look at this is that someone who is unable to handle something as easy as HTML is probably going to have serious difficulties with "real" programming languages like C or Java. In the same vein, if you can't even get a "Hello World" program to compile, you're probably not going to embark on a project to create a new OS. After HTML, I recommend proceeding to JavaScript, PHP, and finally MySQL. These are all practical skills (think of PHP as a introduction to ASP or JSP and MySQL as an introduction to Oracle), and in course of learning them, one can become familiar with some of the key technologies that drive e-commerce (in particular, how to create a database-backed website).
I created a web page a few weeks ago about why I think HTML->JavaScript->PHP->MySQL is a good path of learning - check it out if you want more details about my line of reasoning http://www.lmarkets.com/dev/path.shtml.