Okay so what's next?
This is my first post so far over the forums so I hope you are good listeners. Here goes my story:
I became very interested in "Front-end" web development in the last few months, I felt I will be so good at this field with more practice and knowledge so I didn't actually stall or think too, I went for it. I checked many web tutorials, invested some money into worthy instructional and educational books like HTML & CSS by Jon duckett and CSS3 missing manual and alot more. I finished the first book by Jon and dozens of tutorials, practiced alot with HTML and CSS but haven't grasped it fully since I know it requires more efforts. I am working on it and won't hop onto another language till I master them.
Additionally, do I really need to learn C language and its likings for web development? I don't feel them to be honest.
Thanks for your fruitful answers in advance.
Mate Im by no means a guru.. So take the wisdom of any other post over mine.... If your really determined to stay front-end then Id say yes js is the next on your hit list.... But to be honest mate Im not sure thats the way to go.. you mentioned dynamic.. yes, to some degree you can get away with that front end using xml js jquery ajax etc.... but if you want to get serious about dynamic design then your going to have to learn back-end...
I would suggest to any newbie html for front-end php for back-end and css for customization... with that as your foundations you can then at least build something for anything.... and integrate the other languages over time around that solid rock....
Learn C... guys pls correct me if Im wrong.... C# is becoming popular for developing applications on the web.. as the web becomes capable of doing more.. and could be an interesting avenue to explore.. I think its window server based?.. in which case you would want to explore the world of asp.net perhaps, instead of php.. Keep going dude :)
Originally Posted by jedaisoul
jedaisoul also has it right that it REALLY helps to master the underlying language BEFORE diving for the 'frameworks' -- if you do so you will quite often find that these 'frameworks' that allegedly save development time and make things "easier" do the exact opposite; they make more work, more code, and teach sloppy habits... and that goes for pretty much all frameworks be they HTML, CSS, JS, PHP, ASP...
Naturally you have the people who 'love' their abstractions, to the point they'll irrationally defend their use of frameworks to the hilt, when really they didn't learn enough about the actual languages to even be opening their yaps on the subject.
Code-tard's suggestion of C is interesting, but not very useful. C's lack of whitespace neutral strings makes it very hard to work with outputting HTML from it or any flavor of it. C# is even worse as to use it on a website you compile it to .net to use via ASP. This for the most part ties you to the windows hosting platform, and I don't like that idea. Sure there's "mono" to try and run it in the *nix world, but to be frank the results are... well... less than impressive.
Once you've got HTML down good, practicing separation of presentation from content and proper semantics, I'd say go for PHP next. The reasons for this is that first PHP makes excellent glue; it's what the language was designed for. It IS a templating system unto itself (which is why running templating systems like "Smarty" atop it is halfwit nonsense), making it easy to 'glue together' common bits of markup (like your header, menu and footer) to the parts that are different on every page (the content). You get into databases PHP can (and should only be) used as glue to put things together. That's what it's for -- gluing together data to the markup.
PHP's main strengths:
1) it's massive function library meaning most anything you'd want to do, there's already a function to do it.
2) You'll be hard pressed to find a web hosting account that doesn't support it.
3) As a scripting language you don't have to 'compile' it to test it.
4) You are far, far more likely to be able to find people willing to help you if you get stuck... you pick a non-web language like C or a platform specific one? Good luck.
5) It's probably the BEST DOCUMENTED LANGUAGE this side of a 1980's Borland product. No joke, the ENTIRE manual is online, free, easy to document, and there are not just really good usage examples on every page, but the comments are filled with user submitted examples, suggestions and recommendations as well. http://www.php.net -- The only other language I've ever seen as well and properly documented is Borland's Pascal / Delphi flavors.
There are drawbacks:
1) Speed. It's not the slowest (Ruby holds that title) but as an interpreted language, even with the parsing to 'bytecode' stage and a bytecode cache like APCache, It's not exactly peppy.
2) Vulnerabilities ... PHP is one of the languages I like to call "insecure by design"; it is FAR too easy to make insecure code as it's an interpreted language, making it very easy for beginners to accidentally call a file or create a way for arbitrary code to be run. It's gotten a LOT better about that since PHP 5 came out, especially if you don't use the old deprecated soon to no longer be supported mysql_ functions. (and use mysqli or PDO instead). You CAN secure it via things like object scope and not doing stupid things like putting sql login or other security info into global scope or WORSE, define (yes turdpress, I'm looking at you -- do us a favor, put on the dunce cap and sit in the corner) -- or you can avoid those types of headaches by simply using it to glue together static bits. It can be secured, it just doesn't start out that way.
3) Confusing and incomplete object model -- I guess if you learned it first it would make sense, but my background in Object Pascal, Modula, Oberon and Smalltalk made it very hard for me to grasp how PHP (or JS for that matter) seem to handle OOP.
I'm sure the PHP haters out there could go on for far, far longer about it's drawbacks than I could, but usually that's because they're trying to use it as a general purpose computing language, something PHP was decidedly never meant to do. PHP is like a bottle of super-glue; you don't try to use it to do a carriage bolt's job.
Still, for it's faults -- the fact it's available on pretty much EVERY decent hosting plan, ease of getting help and decent documentation makes PHP an easy choice after you get a handle on HTML and CSS. I would even go so far as suggesting you try experimenting with the "include" function and some simple user functions while learning HTML, just so when you have things that are "the same on every page" you aren't repeating yourself over and over, and can make changes to things like the menu on every page from one place.
Hope that helps.
Thank you so much for breaking it down like that.. got it!.... Im walking a thin line of imposing on the OP's thread here.. But I meant C# more as standalone applications never for anything directly related to a page...
Good chance you would know an old school program most have never heard of for example "irfan viewer"... I was thinking you click a link and something small like that opens... I want to try something like that at some point.. If not C what would you use to make something like that on-line...