Jump to content

what to learn next?


Recommended Posts

Does anyone have any recommendations on new things to learn regarding programming / web development? Any videos, books, or other tutorials I should dive into? I feel like I've mastered html/css. I've done plenty of javascript, ajax, and jquery, and i think i am pretty well versed in php, oop, using an mvc framework (i chose codeigniter), mysql, and using a variety of web services. My latest site (followthenookie.com) utilizes all of the above, so im not really sure what i should start learning next. any suggestions?

Link to post
Share on other sites

I just saw a post on (I think) David Walsh's blog about followthenookie. Did you help him create it? Regarding languages, I was in your situation recently (you probably know PHP quite a bit better than I do, though). I plan to continue using and learning PHP, but I felt like focusing on PHP alone would not be that beneficial for the point I was at. So I was looking through other server-side languages. Java is a classic one, but nothing really stood out to me about it. I then considered Perl, but it looked like it was a language of the past. Finally, I settled on Ruby and the Rails framework. I began to learn it, and saw quickly that it is a very unique language. I purchased a cheap used copy of Rails for PHP Developers on Amazon. The book capitalizes on your knowledge of PHP to enable you to learn Rails faster. It contains a few large real-life applications, and Rails to PHP/Ruby to PHP references. Ruby is an object oriented language. The Japanese individual (don't ask me to say his name...) who wrote it (beginning in about 1995) had a goal to make a language that allowed high productivity and easy readability. He eliminated the need for parentheses, semi-colons, and brackets. He named methods words or phrases that roll off your tongue naturally. Ruby maintains a very orderly structure because, unlike PHP, the development team (which is open-source, I believe) was/is headed up by the same man (Matsumoto), who has one vision for the language. It is much more organized than PHP, and lacks the redundancy that is seen in certain aspects of PHP. A very unique part of Ruby is its flexibility. Ruby is written in classes, which can be modified or overridden at any time, using the "extends" symbol (<).Not only is Ruby code very readable, but the development and launching process is very orderly. Rails is an MVC framework, which I was quite intrigued by, because I was unfamiliar with it then. You have another advantage in this area because you are already familiar with the MVC process. For those of you who aren't familiar with the MVC concept, it is very logical. You separate your code into three categories: Model, View and Controller. The urls are not defined by actual files, but by actions within the controller. It makes the code much more readable and better organized.Be forewarned: you must learn some amount of the command line to use Rails. Don't be intimidated though- it's worth it. I'm still in the early stages of learning Ruby on Rails, but I can see that if you become proficient in it, you will be able to do incredible things very quickly. I saw a screencast demonstrating the creation of a weblog in 15 minutes. Quite impressive!If you've looked, the Ruby forum here has a grand count of 2 topics. Sometime soon, I intend to post a tutorial on there explaining how to get Rails up and running. I've it written already, but I'm still editing and revising it. Installation was a particularly challenging part of RoR for me because so many of the resources I found either were outdated or written for Mac. After over a week, and more tries and research than I'd like to mention, I got RoR running! I'll make sure to post the tutorial soon to make others' lives easier. I hope that I'll be able to start posting on the Ruby forum and build a Ruby community here. Newbies to Ruby are not attracted by this site because the rate of posts is about 1 per year. And there isn't anyone on here who knows Ruby. Those who are Ruby geeks are also not attracted by this site because there aren't any people posting topics. It may be a long process, but I eventually hope to get this forum a place worth visiting for those who want to discuss Ruby programming. That's my 2 cents. :)

Edited by Fmdpa
Link to post
Share on other sites
I just saw a post on (I think) David Walsh's blog about followthenookie. Did you help him create it?
Where did you see it? I made it by myself lol. Or did you see it on my blog, because my name is also david.Regarding Ruby on Rails, is it a framework that more mac users use? I guess I could venture out in RoR. It just doesn't seem like a hot topic anymore though. It seems like it is one of those frameworks that had a lot of buzz a few years ago, but it kind of died down and I don't see a lot of job opportunities for RoR developers. Would you disagree?
Link to post
Share on other sites

There's one category of stuff in this list that I didn't saw, and so perhaps this could be your next try&see thing... if you've ever looked on the left of any of my posts, you'll know I'm of course talking about XML and XML based stuff.You could try to create your own MVC-like framework that uses XML as the basis, and PHP as the engine - eventually allowing you to port it to ASP.NET or ColdFusion (another things you may consider learning)...Or you might try to make a fancy game with SVG and/or Canvas, coupled with fancy, degradable APIs... see if you learn something from that experience.Or if you feel more adventureus than I am, you could learn C, and make some sort of a PHP extension or Apache module. Extension for what you ask? Well, there's still no open source XSLT 2.0 processor in C or C++... no XProc processor in any language but JAVA... and anyhow, how cool would be to have an extension that lets you create a blog/forum/wiki/whatever by a few simple Apache/PHP configuration calls, while still letting you plug into it.Or, if you're an actual masochist, you could even go as deep as to participate in browser development... in the Mozilla or WebKit engine. They're open source after all - you can always submit patches that, if in good enough shape, will be merged with the rest of the browser. Areas that may be of interest for you are XForms, MathML and other not so popular modules... the popular ones have enough momentum to go forward with or without a new gun.

Link to post
Share on other sites

I've done a bit of XML stuff. I've mostly just used XML with various web services, and I've done a few homework assignments in school using XSLT and XSD, but I never have found a practical application of those last 2 technologies in any of my projects. What do you use them for in web development projects? I've tried ColdFusion for awhile before PHP, and once I started PHP I never went back to CF lol. I'm thinking of trying out ASP.net, but that means I have to find a cheap PC so I can load Windows on it since my mac doesnt have enough HD space to run Windows via bootcamp.

Link to post
Share on other sites
I've done a bit of XML stuff. I've mostly just used XML with various web services, and I've done a few homework assignments in school using XSLT and XSD, but I never have found a practical application of those last 2 technologies in any of my projects. What do you use them for in web development projects? I've tried ColdFusion for awhile before PHP, and once I started PHP I never went back to CF lol. I'm thinking of trying out ASP.net, but that means I have to find a cheap PC so I can load Windows on it since my mac doesnt have enough HD space to run Windows via bootcamp.
hmm, maybe just an external hard drive to back up your local files? I think the absolute most space you would need for a general XP install is about 10G.
Link to post
Share on other sites

I usually use XSLT as a general templating language, in the most literal sence possible... I assemble my foundation with the rest of my XMLs. In the rest of my XMLs, I keep stuff that is to be processed after the assembling by PHP. Stuff that would otherwise be too complex if I had to do it before XSLT than after it (plus some output before the busy backend). Stuff like database retrieval for example.In other words, I use my XMLs as an abstraction layer, my XSLT as the glue, and the "engine" (PHP...) as an interpreter of it all. I code to the engine in accordance with the XML, and not directly in PHP. In theory, this could allow me to write a sophisticated editor or a separate engine if I ever needed one... in practice, I need to write those myself, and I haven't done so yet :) , and I haven't yet had the need for switching to another language either, as so far, I've always had full control on my hosting environment.Either way, one benefit I'm getting even today is the ability to write custom tags, and have them transform nicely into valid XHTML that I precode in them. So for example my video tag can currently take a YouTube video and turn it into the valid object required. You can do that with a PHP function too, but it's really nice to see it right there in the XHTML as markup.I'd use XProc for this same purpose, if only there was an XProc processor for PHP... and assuming there would be a way to stream some of the operations I'm currently streaming.

Link to post
Share on other sites
Where did you see it? I made it by myself lol. Or did you see it on my blog, because my name is also David.
I just remember seeing it somewhere in the cloud of feeds I subscribe to. Oh, LOL, now that I look, it was actually on your blog that I saw it! I forgot that it was actually your blog to which I subscribed. Sorry, I just got confused.
Regarding Ruby on Rails, is it a framework that more mac users use? I guess I could venture out in RoR. It just doesn't seem like a hot topic anymore though. It seems like it is one of those frameworks that had a lot of buzz a few years ago, but it kind of died down and I don't see a lot of job opportunities for RoR developers. Would you disagree?
I'm not sure which operating system it is inclined towards. The book I linked to was written by a Mac user. To tell you the truth, I didn't know about Ruby until a few months ago. Even if it isn't quite as hot anymore, I still think it is an excellent language to learn. You might be critical because it sounds so automated, but it is actually very flexible. One annoyance in PHP that Ruby fixes is database interaction. You can save information to the database simply by this:
@users.save #this saves the data in the variable "users" to the table

You may be turned off by this or you may be impressed, but Ruby can fallback to SQL whenever you want. I personally think RoR is a valuable tool to add to the web development toolbox.

Or you might try to make a fancy game with SVG and/or Canvas, coupled with fancy, degradable APIs... see if you learn something from that experience.
I've been interested in learning more about SVG and canvas. What is the basic method of creating a game with JS? Edited by Fmdpa
Link to post
Share on other sites

How about Flash/Actionscript?

Does anyone have any recommendations on new things to learn regarding programming / web development? Any videos, books, or other tutorials I should dive into? I feel like I've mastered html/css. I've done plenty of javascript, ajax, and jquery, and i think i am pretty well versed in php, oop, using an mvc framework (i chose codeigniter), mysql, and using a variety of web services. My latest site (followthenookie.com) utilizes all of the above, so im not really sure what i should start learning next. any suggestions?
Link to post
Share on other sites

Flash has applications beyond just as a tool for creating web pages, though - you can create games and other fully client-side applications (e.g. with Air).If you want to try something really different, how about some functional programming?

Link to post
Share on other sites
Flash has applications beyond just as a tool for creating web pages, though - you can create games and other fully client-side applications (e.g. with Air).
If I was going to learn Flash, that would be my intent. Not to make a web site, but to create applications. I've seen some pretty impressive Flash apps, basically the equivalent of good desktop apps on the web, accessible through a browser.
Link to post
Share on other sites
Hmm. Flash isn't great for SEO, and there are numerous rumors of canvas replacing it.
He wasn't asking about SEO, just what language or technology he should learn next. I think it may be a while (a year or so) before we see significant movement in canvas app development. It's still fairly new and not all browsers are caught up to it yet. I think in time it'll give Flash a good run for its money since it's much more accessible to developers than Flash.
Link to post
Share on other sites
He wasn't asking about SEO, just what language or technology he should learn next.I think it may be a while (a year or so) before we see significant movement in canvas app development. It's still fairly new and not all browsers are caught up to it yet. I think in time it'll give Flash a good run for its money since it's much more accessible to developers than Flash.
I was just commenting that Flash would not be great for web, because of bad SEO. I was assuming that he is interested in sticking to web development...
Link to post
Share on other sites
Python?
How is python used on the web? I think I've heard it used as another server side language, but are there any advantages of it compared to PHP?
I was just commenting that Flash would not be great for web, because of bad SEO. I was assuming that he is interested in sticking to web development...
I've considered Flash, but i'm not really a big fan of it on the web, and it doesn't sound very useful for me to make desktop apps. I like web development because it makes it easy to share my work with others and have people visit my application. That's the most exciting part =)
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...