I've worked for a couple of small companies. I think it requires different skill sets/strengths to get a company off the ground, known, and making money in the first place than it does to keep it running after you've gone public, have a bunch of employees, etc. Frequently it's not the same person who has both of these skill sets. A small company with very few employees, a few customers who know they are dealing with a small company, and no stock holders to keep happy can more easily make decisions on their feet and survive fairly well by making decisions that just get them through until tomorrow. As they grow, that agility is lost and I think a lot of managers and CEOs are not able to adapt their thinking and planning to the slower pace of movement and amount of resources it now takes to get things done.
Interesting. Now I wish I had some of my old contracts around. I'm sure I've been employed at least one place (and I think several) where discussion of pay was, at least on paper, something you could be fired for. It was unenforced and people talked about their pay and no one was ever fired for it, but I'm certain that on paper it said you're not allowed to. I don't really care that much as it was unenforced, I'm mostly just curious as to if I'm remembering right or not.
There are a couple of common problems I see that are related to this.
1) A lot of people are lazy. Once they find out that math/science/cs/whatever is not just blowing stuff up and playing video games, but actually takes thinking, they get bored. I've known a lot of people who had this happen.
2) In my own experience the attributes that commonly lead to someone being good in these sorts of fields lead to being bored out of your mind in school and frequently not learning the way school is frequently taught. Most good engineers, cs guys, scientists, etc that I have met like a challenge, like exploring and figuring things out, and like hands on work ("hands on" includes working out math problems or the like). Sitting around in lectures memorizing trivia and hoping you remember it leads to boredom or even frustration if you just don't learn well that way.
The last line of the summary is right in line with point #2 there, although it seems to just focus on teaching STEM stuff in that way, and not making the other subjects more interesting as well.
Ugh. Robert Half. I won't even talk to those assholes anymore. Last time I went in there they made me take tests on Perl. The examples did not use strict and whoever wrote the questions didn't know the difference between "$var" and '$var' and there was something where some sort of brackets was used incorrectly on one question as well.
My most recent interview, which was just a couple months ago and I got the job, I was pretty happy with. I e-mailed some short code samples in a few different languages a few days before my interview. In the interview we just talked more high level design and architecture and then I walked them through some of the code I had written, explaining what I had done and why.
That's not really a comment. It tells the shell which program to execute and I believe is not ever seen or processed by the perl interpreter which is why bash scripts start with #!/bin/bash, etc. Although I would guess that if you execute the script with "perl myperlscript", then Perl probably does see that and treat it as a comment.
If executing with "perl myscript" you also don't have to have the hashbang line there at all.
Yeah, I think we mostly agree. I agree that it's not the best option anymore except for the super short stuff, although I'd keep using it for nearly everything if I could. I just don't feel it's terrible for the big stuff and definitely not as terrible as its reputation would suggest. Some would argue that even enabling such hard to maintain code to be written in the first place is is just as bad, but I see it as flexibility with a tradeoff. You can write harder to read/maintain, really short scripts to do something quickly or slightly more verbose code, but still way shorter than Java or C++, which is maintainable and viable for use in a larger system.
Part of why I've moved on to Python (as opposed to Ruby, the other big contender as a Perl replacement) is that it feels somewhat like a more modern Perl (and Perl's object model is actually based on Python's, I believe). Some day I may do some side by side comparisons of Python vs Perl code length (although I bet someone else already has) using properly written, maintainable Perl. I don't expect there to be a huge difference in number of lines.
Perl can be as easy to read and maintain as the developer can be bothered to make it. Sloppy Perl is written by sloppy developers. It has proper variable scoping, namespacing, packages, object inheritance, etc. You also don't have to squeeze as much functionality into one line using as many special characters as possible.
Sure, there's plenty of ugly Perl out there. I suspect much of that is stuff that started as a small, quickly hacked together script which grew into something larger. Perl also used to hold PHP's place as THE language to use for web back end stuff, so it had a lot of amateur devs doing stupid crap. I can find you awful code in any language you want, though. I've got some crazy Python in front of me right now.
I'm not saying it's the best language to use anymore, but it's not even 1/4 as bad as people like to make it out to be around here. Plus many of its libraries are still easier to use and have more functionality than the equivalent libraries in other more popular languages (opinions on that may vary, of course). LWP is still my favorite web client library.
Yep, that sounds about right and I agree completely as someone who has played since launch.
The other problem for me is that they've put too much focus on end game and especially raiding. I like playing with a small group of people. I don't like playing with 10, 20, 40, etc. people because there's too much waiting around, people wasting my time, people being assholes, etc. With small groups I can find a couple of small groups of people that I really like and enjoy playing with and be happy.
It used to take forever to level and for some of the quests you needed a group or at least 1 or 2 more people. Then you got to the 5 man instances and it took time to get through them, get the gear you wanted, etc. Now you can easily run a charater up to max level completely solo in anywhere from a couple days to a few weeks depending on how little life outside of WoW you have and run the 5 man instances enough to get all the gear and be completely bored of every single one of them within a couple more weeks, then you're left with raiding or starting over to do it all again far too soon for my taste.
and comments are not executable.
Unless you're writing Tcl, in which case comments are a function call where the text of your comment is passed into the comment function. It does try to execute it and will produce syntax errors on the comment line in some cases, such as comments that cause an uneven number of open/close brackets.