Hello everyone.
It’s a bit daunting in here for a complete newb, I can’t help wondering if I’m the only one… and would a forum section help those of us on the foothills of the learning curve?
Me, I’ve been gainfully employed for years on the client apps end of things, and web apps is a whole new ballgame for me. So far I’ve managed to install Wampserver and knock up a test.php that queries the MS SQL server here to show a query results table in raw PHP HTML, so I’m not convinced I’m a complete idiot
However, these frameworks seem to require a whole load of ‘just knowing a ton of vocabulary’ which has always been the worst part of the job for me. I’m fine picking up new languages, but finding my way around someone else’s massive design makes my heart sink.
So far I’ve looked at Ruby/Rails, I read half of the surreal and bizarre ‘poignant guide’ to Ruby which is like a programming lecture from Eddie Izzard on some abused substance - entertaining but too much like hard work too wade through. Bits of Ruby seem neat, and I prefer the syntax to Python and its meaningful whitespace, but it’s a little too ‘magic’ and different for my liking. And I got lost trying to find my way around the tutorials, felt that Ruby was falling out of favour and could be a career dead-end, so I moved on.
BTW I’m looking for a completely free and Open Source solution that avoids MS tech (apart from using Windows here, and the SQL server currently available and in use with the VB.net app I’m working on). Likewise Java leaves a sour taste in my mouth for security reasons (vulns) and dependence on a Big Corporate. So Groovy Grails, Scala and all the rest of the Java ecosystem are pushed to the side in my quest for My Big Saviour.
I looked at Python, thinking it could be useful to know my way around a trendy popular scripting language, but the Django tutorial left me floundering, likewise web2py. And all the Python frameworks seem to use types of communuity support that I don’t fancy. It’s all IRC chat or mail lists. I’m too embarrassed to link my stoopid newb questions to one of my main email accounts, don’t fancy setting up a new disposable one, and in any case emails link to IP addresses which I Just Don’t Want. So thank you Yii for having a proper web forum! (You’d think that other WEB framework guys would use WEB tech, wouldn’t you?!)
So here I am. PHP looks like riot of ad-hoc evolution, and I can’t say I’m struck on the -> and :: business instead of simple dots, but I have faith that it’s a workable language and the flexible arrays look neat. So I’m willing to give it a go. Yii looks like a good contender, so…
Now, I can follow most of Larry Ullman’s 8 page newb tutorial, and I like the MVC classes arrangement these frameworks follow, and the way I can set up a database in advance, then get a whole admin scaffoldy kind of web app for free. Wonderful, in theory - because let’s face it the average programmer isn’t a great stylish designer and I couldn’t hope to compete with the nifty HTML/CSS stuff that Yii (and others) provide straight ‘out of the box’ from those with an eye for pizazz.
But then I run into a brick wall. It’s all very well having The Big Overview understood, but the next level of detail expands a millionfold into a nest of complexity that makes my head spin.
Imagine, if you will for one paragraph, that Earth finally makes Alien contact. You’re told that if you approach an alien and say “Froog nitch argle wamza” then he’ll give you a cool refreshing glass of beer. And “Wizzamalooga” will get you a small but valuable lump of gold. Great. But it doesn’t help you to actually understand the grammar of their language, how their civilisation works, the right way to avoid offending them and starting a nasty interplanetry war.
This is what the framework tutorials seem like, to me - albeit without the ramifications of leaving our dear Blue Planet a smouldering lump of rock. “Do this” they say, “and this will happen”. But it doesn’t say WHY, HOW, why you’d want to, what other ways you can do it, what the knock-on effects are, and all the other behind-the-scenes mechanisms going on.
How on Earth do you experienced web devs cope? How do you suddenly go from ‘a little clue’ to ‘I know my way around’? I’m utterly lost here - any pointers on what to try next? When I reach part of a tutorial or book that suddenly becomes “Do this and I won’t really explain why” another little part of me dies. Sure, I can skip forwards, see if something later makes sense and perhaps I can come back and slot the missing piece of the puzzle into place. But that doesn’t seem to work with frameworks. It’s like an impenetrable ball of confusion. Like trying to learn Italian without any translations.
How do I get the enlightenment of knowing how to pass data around between the classes, and a categorised listing of what I’ll need to learn? In a learnable way? I challenge you experts to really genuinely explain the next level of understanding beyound The Grand Overview, in a concise summary that gives us poor bewildered an “Aha!” moment and takes us to the point where the rest of the learning curve flattens out and is a matter of simply picking up relatively shallow levels of detail. Because if you can do that, you’ll be WAY ahead of any other framework I’ve looked at! And the masses will flock to you, or something.
Thanks!