Very much a work in progress, but I've written a scripting language called Hecl in Java. It is small enough (40k at the moment) to run on my Nokia 3100, which isn't a Symbian phone.
You, as an American, Canadian, Australian, Japanese or whatever... are the equivalent of migrant worker here to pick tomatoes, even if you have a degree, even if you have no intention of being a burden on the social system. Of course, the US is really lame too. A friend's brother was supposed to go work for nVidia, who wanted to hire him and pay him a lot of money, but since he had no degree yet, nothing doing, it was not possible.
Your best bet is to come spend some time and see if you can find a job, because no one is going to hire you from afar. Then you will have to go back to the US and wait months for your permit.
In reality, where does this leave you? You need to just live here illegally and be done with it. Italy has so many laws on the books that no one really pays attention to them anymore. Heck, the prime minister is on trial for bribing judges and people still vote for him.
The big, big *however* is that you wouldn't get so bitter if it were not such a wonderful place. In some ways it's so much nicer than in the US. I went out for a drink with my friends this evening. No being carded (how stupid is that - you have to be 21 to drink a glass of alcohol, even though you can go to iraq and drive a tank at 18?!), not having any problems being in the piazza with a glass of alcohol. And there is a stunning variety - we went up to Bolzano for their 'Linux Day' last weekend, up in the middle of the stunningly beautiful dolomites. Then you have Rome, Florence, Venice (I live a half hour from Venice), and so many beautiful small towns that are what I really prefer to the large tourist centers.
Anyway... I don't know. Spain is doing better than Italy right now. Its politicians are more credible, and seem serious about fixing problems rather than just bickering. The food isn't as good as in Italy, but it's still a beautiful country as well, and who knows, maybe they treat foreigners less like dirt - "curious.com" is right that even renting an appartment will be difficult. Many people don't want to rent to a 'suspicious' foreigner, or really even people from another region of Italy.
On the other hand, I wouldn't complain if I didn't love it, I would just leave. But my life is here, including my fiancee`...
One way is to find a niche and just nail it. Be the best thing out there for it. PHP did that, and if they play their cards right, they could grow out of that niche too, surpassing things like Python in popularity, even if PHP isn't that beautiful a language.
To really understand this problem, you are going to have to read *gasp* marketing and economics books. "Crossing the Chasm" and "Information Rules" (network effects, lock-in, and so on) are ones I find interesting. I've heard "the innovator's dilemma" is good too, but haven't read it yet.
I have no idea about 'first' (although I kind of doubt it), but Erlang is a good language to have a look at if you're interested in concurrent programming.
Re:What day of the week is it?
on
Sun-isms Debunked
·
· Score: 4, Insightful
You really buy that bit about the SCO money? I'd take it with a grain of salt myself.
They didn't *give* anyone Java. They own it, lock stock and barrel. They gave away openoffice, which is great, as I said.
What I'm attempting to communicate is that Sun seems to have an incoherent position with regards to Linux and Open Source. It's a question of posturing and image - IBM certainly hasn't open sourced all of their crown jewels, and yet are seen as friendlier to the open source world. "Seen" - it's, as I keep repeating, a matter of perception.
While it's not shocking that they bash Linux, as you say, that's hardly a way to take advantage of it and attempt to extract what value they can (as IBM and Novell are successfully doing).
I'm not a fan of Microsoft, but their view of Linux is very, very clear. Sun's is not.
Re:What day of the week is it?
on
Sun-isms Debunked
·
· Score: 5, Insightful
I don't think you correctly perceive the sentiment regarding Sun.
I think a lot of long-time Linux users want to like the company. They've always fought for Unix, even when NT was supposed to be the up and coming thing. They've provided all kinds of interesting technology and research, and even open sourced it occasionally. Most of us would certainly rather work on Solaris than on Windows when forced to use a proprietary system. We realize what an enourmous gift the openoffice codebase was. Before Linux really emerged, maybe we could still get away with using it at work, saying that we could always move things over to a "real Unix" like Solaris... they were sort of like a benevolent older brother who would could call if the situation got really scary. So they're in a position to be well regarded.
But they've frittered away a lot of this good will. Between the money to SCO, the digs at Linux as marketing strategy, and this on again off again view of open source, I don't feel that comfortable with them any more. It's like Linux grew up, and the girls have started to be more interested in it, and the formerly looked-up-to older brother is now going around saying nasty things about it.
So it's not about disliking Solaris, which looks to be a nice system, it's about having doubts about Sun and their corporate strategy. They need to make up their mind about being our friends or not, instead of smiling and trying to stab us in the back.
Re:What day of the week is it?
on
Sun-isms Debunked
·
· Score: 2, Interesting
But apparently not even Sun feels that it can actually make money selling those features. Part of the problem is that Sun lost out with the network externalities game. Linux is everywhere, Solaris isn't, and that adds value to using Linux because there are more people to employee, more support groups, more people working to support your weird hardware, and all the other accompanying benefits of a widely used system.
You can make money on tech support, but it probably doesn't scale as much as VC's want. What I mean, is that for each company you provide service for, you have to add people. On the other hand, with proprietary licensing fees, you have your sunk development costs, but from that point on, you could sell 1000, 10000, or millions of copies, and it's all profit. It's an exponential curve. Potentially at least... I don't know what the stats are like for the 'average' firm.
It has to do with economics. Languages are really something you want people to spread as widely as possible, because there are positive network externalities. And part of spreading things widely is also getting them used commercially...
A cool site for people interested in languages and their design is: http://lambda-the-ultimate.org/
I agree completely that only looking for GPL code is a mistaken approach, as the GPL is more restrictive than other licenses. You can almost always include BSD code in GPL, but not vice versa. In any case, the GPL is probably not an ideal license if you want your language to be very widely used.
Thirdly, if you want to look at some nice source code and an interesting way of doing things, have a look at Tcl. It's C sources (modulo the regexp package which came from somewhere else) are some of the nicest I have read. Beautifully commented, and very clear to read. Also, Tcl is a smart approach for a language designed to be extensible.
The article's author really needs to state his purpose, though... just for fun? To 'get famous'? For work? As a homework assignment?;-)
The Economist is such an excellent magazine because even when they write about something we know about, we can say "duh" instead of "they got it all wrong". Now extend that to world news, business, finance and economics, science and technology, and a smattering of other articles, and you have a magazine that covers a lot of things pretty well, which is not an easy accomplishment. It's nice to see things like this there, because it also means they are probably being read by at least a few people with real power.
I maintain the tclthreads package for Debian, have done lots of digging in Tcl's C sources (a very nice read, BTW, if you don't look at the regex related files:-). So I can state that Tcl does do threading without a doubt. Of course, you need to compile it for that (like Debian's is), and you need an extension if you want to do it from Tcl itself.
And you're correct - you use one interpreter per thread. This has some big upsides in terms of robustness and allowing the threads to actually work as they ought to, rather than doing stuff like using the One Big Lock that Python had for a while.
(Polite) I don't think you are well informed about Tcl.
It handles threads just fine, and has for several years better than languages like Python.
Incompatible changes? Some of the C API has changed over time, but it's still possible to compile older extensions - and updating them usually is pretty easy. As far as the language itself, it hasn't changed that much and none of the changes that come to mind are backwards compatible.
The Linux Incompatibility List would benefit from the addition of specific makes and models, although do describe the incompatibility accurately so that people don't think that the hardware is completely incompatible with Linux, when it is really only one portion of it that does not make the hardware useless.
maybe you're thinking of somewhere else, because the only ash in eugene that I remember were the little vials my grandparents sent me from Couer d'Alene in the mail:-)
There wasn't any ash south of Portland, and I don't recall there being any in Portland itself. My grandparents, on the other hand, all the way in Idaho told us about the sky getting dark, and digging out from under the ash a week later...
My friend and I convinced each other to go take salsa lessons at the local salsa joint, and it was one of the smartest things I've ever done.
1) Salsa dancing is very, very un-nerdy. It requires some talent, too, so not just anyone can do it, you have to dedicate some time to it. But then you look pretty good when you do pick it up.
2) Girls like it. It's exciting and fun. (Well, lots do, of course some don't).
3) If you go to the right kinds of places, you can casually dance with lots of people in one evening without it being some big deal. A dance and you're done, no need to buy drinks or talk or anything else if you don't want to. Some girls say yes, some say no, but in the end it helps your confidence a lot. You can tell a lot about someone by how they dance... and changing partners often, you meet a lot of people in one evening.
Did you miss where I said I was likely to add that? It's right at the top of the article. Didn't you read it?
Face it, your "survey" is lousy, and you can't handle the criticism, which on Slashdot was going to be inevitable no matter how good your survey was.
Most of the criticism is of the rude "this sucks" variety, which isn't at all constructive or worthwhile - and in many cases it's obvious that the person in question did not even read the article. It is indeed irritating, as I wasn't cruising for a slashdotting. I posted the article in my advogato diary and it went from there, I guess. Even some of the more cogent commentary, such as the 'methodology' comment, points out things that are pretty obvious and suggest no alternatives.
Thanks for your constructive, helpful and anonymous comments...
You state that "SQL doesn't have that many pages because it's independant of the programming language used".
So you are saying that because something is language/implementation independant, it will be less visible on the web? So XML will be less visible than Tcl or Perl, if we had to make a prediction based on your theory? If SQL is used by all those languages, shouldn't its web presence be larger, rather than smaller? What is it about language independance that makes people avoid creating web content about it?
As to SQL "standing on its own", I don't see why one wouldn't want to hear about numbers for it. Nowhere does it say that "people use SQL instead of PHP" or anything silly like that. I include some numbers on SQL usage relative to other systems, nothing more, nothing less. This does not make the data "hopelessly flawed".
You are talking about search queries, and your assertions are indeed correct. However, Google does not release that information as far as I know. It would certainly be another interesting dimension to add.
What I am talking about is google results. How many pages turn up if you type 'java' or type 'java programming'. There are of course some defects with this - it might be considered 'visibility' rather than 'popularity', and yet... and yet it does count for something, folks.
How can you consider it invalid if you do not understand what it is about, and in any case only discuss potential flaws with one data source? I don't think that's very fair.
The question is: how to get the best possible results out of google, where "best results" mean few false positives, and rather than exact numbers, numbers that can be compared across languages. Adding "programming" is a nice way to get rid of false positives, while still assuring a "level playing field" between all languages. Adding "language" or "programming language" might work well too, although they wouldn't work so well for oddball things like windows or unix that I threw in for fun.
These are all reasonable points, thanks for putting some thought into it.
While Tcl is indeed a programming language in its own right, SQL and shell scripting are often combined with other things, so yes, that probably inflates their value some. But it's more fun to put a variety of things and see what turns up.
Web bias - certainly, but I'm working with what I've got... PHP is probably much more visible because of this, for instance. Ideas for non-web biased data sources would be appreciated. Jobs is probably the only one that captures some of that.
Internal code - you're correct again, but since I have no way of measuring it, I'm working with what I've got.
Job listings. They have their own problems, first and foremost is that, like I wrote, we have no way of knowing about how well those jobs pay or the overall quality of them.
Very much a work in progress, but I've written a scripting language called Hecl in Java. It is small enough (40k at the moment) to run on my Nokia 3100, which isn't a Symbian phone.
- About Face 2.0
- Advanced Programming in the Unix Environment
- Algorithms in C
- The C Programming Language : ANSI C Version
- C++ Programming Language 3RD Edition Special Edition
- Expert C Programming : Deep C Secrets
- Design Patterns: Elements of Reusable Object-Oriented Software
- Learning Python
- Linkers & Loaders
- Linux Device Drivers
- Operating Systems : Design and Implementation
- Practical Programming in Tcl & Tk, 4th Edition
- The Practice of Programming
- Programming With Posix Threads
- Python Essential Reference 2ND Edition
- Running Linux
- The Scheme Programming Language : ANSI Scheme
- Structure and Interpretation of Computer Programs
- Unix for the Impatient
- Unix Network Programming, Volume 1, 2nd Edition.
- Unix Network Programming, Volume 2, 2nd Edition.
As an added bonus, here are two that will open your horizons a bit:I am from the US and live in Italy, and can confirm. I have some stories about it here: http://www.dedasys.com/padovachronicles/
You, as an American, Canadian, Australian, Japanese or whatever... are the equivalent of migrant worker here to pick tomatoes, even if you have a degree, even if you have no intention of being a burden on the social system. Of course, the US is really lame too. A friend's brother was supposed to go work for nVidia, who wanted to hire him and pay him a lot of money, but since he had no degree yet, nothing doing, it was not possible.
Your best bet is to come spend some time and see if you can find a job, because no one is going to hire you from afar. Then you will have to go back to the US and wait months for your permit.
In reality, where does this leave you? You need to just live here illegally and be done with it. Italy has so many laws on the books that no one really pays attention to them anymore. Heck, the prime minister is on trial for bribing judges and people still vote for him.
The big, big *however* is that you wouldn't get so bitter if it were not such a wonderful place. In some ways it's so much nicer than in the US. I went out for a drink with my friends this evening. No being carded (how stupid is that - you have to be 21 to drink a glass of alcohol, even though you can go to iraq and drive a tank at 18?!), not having any problems being in the piazza with a glass of alcohol. And there is a stunning variety - we went up to Bolzano for their 'Linux Day' last weekend, up in the middle of the stunningly beautiful dolomites. Then you have Rome, Florence, Venice (I live a half hour from Venice), and so many beautiful small towns that are what I really prefer to the large tourist centers.
Anyway... I don't know. Spain is doing better than Italy right now. Its politicians are more credible, and seem serious about fixing problems rather than just bickering. The food isn't as good as in Italy, but it's still a beautiful country as well, and who knows, maybe they treat foreigners less like dirt - "curious.com" is right that even renting an appartment will be difficult. Many people don't want to rent to a 'suspicious' foreigner, or really even people from another region of Italy.
On the other hand, I wouldn't complain if I didn't love it, I would just leave. But my life is here, including my fiancee`...
One way is to find a niche and just nail it. Be the best thing out there for it. PHP did that, and if they play their cards right, they could grow out of that niche too, surpassing things like Python in popularity, even if PHP isn't that beautiful a language.
To really understand this problem, you are going to have to read *gasp* marketing and economics books. "Crossing the Chasm" and "Information Rules" (network effects, lock-in, and so on) are ones I find interesting. I've heard "the innovator's dilemma" is good too, but haven't read it yet.
Have a look here:
http://c2.com/cgi/wiki?ProjectManagement
I have no idea about 'first' (although I kind of doubt it), but Erlang is a good language to have a look at if you're interested in concurrent programming.
You really buy that bit about the SCO money? I'd take it with a grain of salt myself.
They didn't *give* anyone Java. They own it, lock stock and barrel. They gave away openoffice, which is great, as I said.
What I'm attempting to communicate is that Sun seems to have an incoherent position with regards to Linux and Open Source. It's a question of posturing and image - IBM certainly hasn't open sourced all of their crown jewels, and yet are seen as friendlier to the open source world. "Seen" - it's, as I keep repeating, a matter of perception.
While it's not shocking that they bash Linux, as you say, that's hardly a way to take advantage of it and attempt to extract what value they can (as IBM and Novell are successfully doing).
I'm not a fan of Microsoft, but their view of Linux is very, very clear. Sun's is not.
I don't think you correctly perceive the sentiment regarding Sun.
I think a lot of long-time Linux users want to like the company. They've always fought for Unix, even when NT was supposed to be the up and coming thing. They've provided all kinds of interesting technology and research, and even open sourced it occasionally. Most of us would certainly rather work on Solaris than on Windows when forced to use a proprietary system. We realize what an enourmous gift the openoffice codebase was. Before Linux really emerged, maybe we could still get away with using it at work, saying that we could always move things over to a "real Unix" like Solaris... they were sort of like a benevolent older brother who would could call if the situation got really scary. So they're in a position to be well regarded.
But they've frittered away a lot of this good will. Between the money to SCO, the digs at Linux as marketing strategy, and this on again off again view of open source, I don't feel that comfortable with them any more. It's like Linux grew up, and the girls have started to be more interested in it, and the formerly looked-up-to older brother is now going around saying nasty things about it.
So it's not about disliking Solaris, which looks to be a nice system, it's about having doubts about Sun and their corporate strategy. They need to make up their mind about being our friends or not, instead of smiling and trying to stab us in the back.
But apparently not even Sun feels that it can actually make money selling those features. Part of the problem is that Sun lost out with the network externalities game. Linux is everywhere, Solaris isn't, and that adds value to using Linux because there are more people to employee, more support groups, more people working to support your weird hardware, and all the other accompanying benefits of a widely used system.
You can make money on tech support, but it probably doesn't scale as much as VC's want. What I mean, is that for each company you provide service for, you have to add people. On the other hand, with proprietary licensing fees, you have your sunk development costs, but from that point on, you could sell 1000, 10000, or millions of copies, and it's all profit. It's an exponential curve. Potentially at least... I don't know what the stats are like for the 'average' firm.
It has to do with economics. Languages are really something you want people to spread as widely as possible, because there are positive network externalities. And part of spreading things widely is also getting them used commercially...
A cool site for people interested in languages and their design is: http://lambda-the-ultimate.org/
I agree completely that only looking for GPL code is a mistaken approach, as the GPL is more restrictive than other licenses. You can almost always include BSD code in GPL, but not vice versa. In any case, the GPL is probably not an ideal license if you want your language to be very widely used.
Thirdly, if you want to look at some nice source code and an interesting way of doing things, have a look at Tcl. It's C sources (modulo the regexp package which came from somewhere else) are some of the nicest I have read. Beautifully commented, and very clear to read. Also, Tcl is a smart approach for a language designed to be extensible.
The article's author really needs to state his purpose, though... just for fun? To 'get famous'? For work? As a homework assignment?;-)
The Economist is such an excellent magazine because even when they write about something we know about, we can say "duh" instead of "they got it all wrong". Now extend that to world news, business, finance and economics, science and technology, and a smattering of other articles, and you have a magazine that covers a lot of things pretty well, which is not an easy accomplishment. It's nice to see things like this there, because it also means they are probably being read by at least a few people with real power.
Pictures here: here
I maintain the tclthreads package for Debian, have done lots of digging in Tcl's C sources (a very nice read, BTW, if you don't look at the regex related files:-). So I can state that Tcl does do threading without a doubt. Of course, you need to compile it for that (like Debian's is), and you need an extension if you want to do it from Tcl itself.
And you're correct - you use one interpreter per thread. This has some big upsides in terms of robustness and allowing the threads to actually work as they ought to, rather than doing stuff like using the One Big Lock that Python had for a while.
(Polite) I don't think you are well informed about Tcl.
It handles threads just fine, and has for several years better than languages like Python.
Incompatible changes? Some of the C API has changed over time, but it's still possible to compile older extensions - and updating them usually is pretty easy. As far as the language itself, it hasn't changed that much and none of the changes that come to mind are backwards compatible.
The Linux Incompatibility List would benefit from the addition of specific makes and models, although do describe the incompatibility accurately so that people don't think that the hardware is completely incompatible with Linux, when it is really only one portion of it that does not make the hardware useless.
Thanks!
I'm not sure where you're getting that idea, but while we felt the explosion in Eugene, there was no ash there:
o lc anoes/lesson3/less3fig2.jpg
p _m ay18_ash_path.html
http://erg.usgs.gov/isb/pubs/teachers-packets/v
maybe you're thinking of somewhere else, because the only ash in eugene that I remember were the little vials my grandparents sent me from Couer d'Alene in the mail:-)
Here's an even better one:
http://vulcan.wr.usgs.gov/Volcanoes/MSH/Maps/ma
Even Portland was spared, because of the wind direction.
There wasn't any ash south of Portland, and I don't recall there being any in Portland itself. My grandparents, on the other hand, all the way in Idaho told us about the sky getting dark, and digging out from under the ash a week later...
My friend and I convinced each other to go take salsa lessons at the local salsa joint, and it was one of the smartest things I've ever done.
1) Salsa dancing is very, very un-nerdy. It requires some talent, too, so not just anyone can do it, you have to dedicate some time to it. But then you look pretty good when you do pick it up.
2) Girls like it. It's exciting and fun. (Well, lots do, of course some don't).
3) If you go to the right kinds of places, you can casually dance with lots of people in one evening without it being some big deal. A dance and you're done, no need to buy drinks or talk or anything else if you don't want to. Some girls say yes, some say no, but in the end it helps your confidence a lot. You can tell a lot about someone by how they dance... and changing partners often, you meet a lot of people in one evening.
That's how I met my fiancee`:-)
C++ is a minor language?
Did you miss where I said I was likely to add that? It's right at the top of the article. Didn't you read it?
Face it, your "survey" is lousy, and you can't handle the criticism, which on Slashdot was going to be inevitable no matter how good your survey was.
Most of the criticism is of the rude "this sucks" variety, which isn't at all constructive or worthwhile - and in many cases it's obvious that the person in question did not even read the article. It is indeed irritating, as I wasn't cruising for a slashdotting. I posted the article in my advogato diary and it went from there, I guess. Even some of the more cogent commentary, such as the 'methodology' comment, points out things that are pretty obvious and suggest no alternatives.
Hi,
Thanks for your constructive, helpful and anonymous comments...
You state that "SQL doesn't have that many pages because it's independant of the programming language used".
So you are saying that because something is language/implementation independant, it will be less visible on the web? So XML will be less visible than Tcl or Perl, if we had to make a prediction based on your theory? If SQL is used by all those languages, shouldn't its web presence be larger, rather than smaller? What is it about language independance that makes people avoid creating web content about it?
As to SQL "standing on its own", I don't see why one wouldn't want to hear about numbers for it. Nowhere does it say that "people use SQL instead of PHP" or anything silly like that. I include some numbers on SQL usage relative to other systems, nothing more, nothing less. This does not make the data "hopelessly flawed".
You are talking about search queries, and your assertions are indeed correct. However, Google does not release that information as far as I know. It would certainly be another interesting dimension to add.
What I am talking about is google results. How many pages turn up if you type 'java' or type 'java programming'. There are of course some defects with this - it might be considered 'visibility' rather than 'popularity', and yet... and yet it does count for something, folks.
How can you consider it invalid if you do not understand what it is about, and in any case only discuss potential flaws with one data source? I don't think that's very fair.
The question is: how to get the best possible results out of google, where "best results" mean few false positives, and rather than exact numbers, numbers that can be compared across languages. Adding "programming" is a nice way to get rid of false positives, while still assuring a "level playing field" between all languages. Adding "language" or "programming language" might work well too, although they wouldn't work so well for oddball things like windows or unix that I threw in for fun.
These are all reasonable points, thanks for putting some thought into it.
While Tcl is indeed a programming language in its own right, SQL and shell scripting are often combined with other things, so yes, that probably inflates their value some. But it's more fun to put a variety of things and see what turns up.
Web bias - certainly, but I'm working with what I've got... PHP is probably much more visible because of this, for instance. Ideas for non-web biased data sources would be appreciated. Jobs is probably the only one that captures some of that.
Internal code - you're correct again, but since I have no way of measuring it, I'm working with what I've got.
Job listings. They have their own problems, first and foremost is that, like I wrote, we have no way of knowing about how well those jobs pay or the overall quality of them.