From: "Eustaquio Rangel de Oliveira Jr." Date: 2005-01-05T23:42:22+09:00 Subject: Re: Ruby JOBS all around the world -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! | Languages are not commodities. They differ substantially. For example: | compare Java to Ruby. Oh, I agree with you. They are very different. | Ruby culture says: keep it simple, keep it short, keep away from XML. This XML stuff is weird. Seems that a lot of people have a bad idea about it because of the *huge* XML files a lot of Java stuff needs. I agree that there's a lot of mess around there, a lot of no necessary complexity, but this kind of generalization is not healthy. I know YAML is very, very more simple than XML, but XML is helping us to make the web more well-designed and with more semantics. Try to give a look on XML with XSLT, it can make some cool stuff. | Java culture says: make it complex, make it long, and there's no such | thing as too little XML. Java programmers would deny having those as | goals in themselves. But I think they like those properties. I don't think ALL that *programmers that use Java* think this way. Another generalization here. I think we can talk about *people that uses languages*, and not *people that are used by languages*. There's a lot of missing points about that on the hype created with, let's say, the Java hype these days, the C# hype. A lot of people learn how to do things the hard way. Some dudes learn that to make a simple query on a database they need to install Hibernate, to "keep the OO pure concept", for Christ sake. And some are lazy, ok. This is not a fault from the language, but from where people are learning things, the way people are learning things. Even if people comes to Ruby, they could start to find how to find huge things there also (and can make a mess, do you have some doubt about that?), because it's the way *they think they need do things*, not the language they're using. The concept of a text editor and a compiler is far away from their ideas. And, I know, talking just about the languages, Java is *very* heavier than Ruby. This is a clear point. | I used to be a Java programmer. I used to like that stuff. Some | perverse part of me still does. There's something strangely appealing | about a behemoth. Like the U.S.S. Enterprise. Thanks God I never used J2EE or EJB's and never tempted by it. :-) | I wouldn't hire myself as I were back then. You could hire yourself and give you some cool tips about programming. :-) | Your preferred language says a lot about your personality. I don't want | Java personalities on my team. In case I'm not offending enough | demographics: I don't want C++, C#, or Windows personalities, either. Seems you see them like demons or something like that. :-) This take us back from the original point here: about people and languages. I think, sorry if I offend you, that if you have a chance to have a *really good* Java/C++/C# programmer in your team, and you know that the guy loves his work, likes to study, is creative, smart, and you refuses to hire him and hire a guy that started yesterday using Ruby or Python or whatever, you're doing a foolish thing. A good Java/C++/C# programmer can *learn* things (agreeding or not) and *teach and discuss* things (some contestation and brainstorming is good!) a lot better than somebody that thinks that is a programmer just because is using a cool language. I'd like to have a *very good* Visual Basic (ouch!) programmer on my team, if he's interested on solving problems with the tools we use, than hiring a stupid kid just because he comes here and say "yo, bro, I use Ruby, I'm fucking smart, let me work for ya". The problem here is the creative mind and the being able learn and create cool things. :-) | I can imagine finding myself in a situation where Java, C++, C#, or even | Window would be the best solution. I wouldn't hire anyone who doesn't | realize that. But I'd be suspicious if he used that stuff in his free | time. Wow, man, you need to buy some crosses and nails. And some gasoline too (fire works better with it). You can do not allow people think different on their works (it's ok if you're their boss) but will watch them on their free time also? Did you heard about freedom? About learning about other things (good or bad, your point)? :-) This way a lot of people that comes to Linux from Windows we'll be screwed (I'm one of those guys). People will not having a chance to trying something different (good or bad). Apple was trying to make that with their employees, I don't know that happens, but they were trying to stop people of developing free software on their free time. But thinking here ... some cell phones nowadays have some JVMs there. What will be your solution for that? Ruby is not running there, Python is on some Nokias, but if your boss tell you "hey, we need to make some apps there", what will be the best solution? This will not lead you to hell, anyways. You can stay a little angry to have to use that, but, *the situation needs a solution*. You can give it or not. It's your choice, but the situation is there. :-) | P.S. It seems like there are some undercurrents of simplicity in the | Java culture. If you're a part of that, you'll know to ignore my | ramblings. But by god, find yourself a better language. Well, I don't know who told you I use Java (just J2SE, not J2EE, as I know and use Python, Ruby and oh, PHP, burn me in hell! :-), but I like trying to make the simple things on all stuff I do. If it becomes bigger in some places than the others, it's a kind of language and enviroment context. And, yeah, I know some other languages also. I think I can find ways to make each one better on some situations, I thank you for your advice, but don't worry so much about these kind of things. It's not the end of the world, as we know it. ;-) - ---------------------------- Eust�quio "TaQ" Rangel eustaquiorangel@yahoo.com http://beam.to/taq Usu�rio GNU/Linux no. 224050 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFB2/zEb6UiZnhJiLsRAhMAAKCSrp7LY+riboR/vrHfH7RqcKTgBgCfbitb d1wJhOZXFyUccJKj8P4xl/M= =PGss -----END PGP SIGNATURE-----