C#, Python, PHP...For Web Development What is the Best to Start with as Foundation?

mackristo

Newbie
Joined
Apr 27, 2008
Messages
7
Reaction score
0
I know that similar questions have been asked but I would like to hear some more opinions on this. I would like to learn web development but also learn something that will allow me to pick up other skills relatively easy. Also, I would like to be able to make money with this skill beyond my genuine appreciation and enjoyment of programming. What is good for site creation, web applications (web 2.0ish) affiliate marketing, blackhat, freelancing etc... I've bounced between several and I just want to focus on one at this point and keep going. What are your thoughts?
 
I would suggest you to learn one of this sets of things to begin with:

PHP
Zend Framework/Symfony


Python
Djando


Ruby
Rails


I would suggest you begin with PHP as it is the most used one and it's mainly a "web" language. Python and Ruby are very good choices also, so if you like their syntax better or something, go with those, but you may have some issues finding a cheap host that supports them, should you be looking for that.
 
It depends on your background and where you want to be in 2 years.

My soul is sold to .NET C# - so I can't recommend anything else :-)
 
I'd second C#, as with C# you can write websites AND you can use exactly the same language to create desktop applications, services, games, bots :D
 
I hear a lot of people recommending PHP as a building block. After learning that, move onto Python.
 
As an experienced programmer of 19 years, I would recommend learning about programming languages in general. Learn about different types of languages like interprets or complied, or procedural, event-driven, or object oriented, typed or nontype languages. If learn about programming language concepts in general you will be able to learn almost any language very easily. Any language in particular is just a syntax. Some languages vary in syntax, but all programming languages share common semantic concepts.

Once you know the basics of programming, you with be a very valuable resource as you should be able to learn any new programing languages very easily. Its only the syntax you need to remember, semantics are all the same.

A good example is a for loop. A for loop is expressed differently in PHP than it is in C# or java, but the semantics (meaning) of a for loop is the same for all languagues -- to iterate over a list of variables.

I hope you get what i'm saying.
 
dparker,

Where can you learn these concepts? Are there any good books you recommend?

Thank you.
 
Look for a book called "Types and Programming Languages" on amazon.

I'm sure you could find the ebook online somewhere for the second one.

This is one of the best general resource programming books around. Another one is " Design Patterns: Elements of Reusable Object-Oriented Software" if you want some more advanced topics

Good luck with with your learning.

Happy programming.
 
My take is on php, which run effortlessly on most free hosting sites.
 
php / Mysql without a doubt. Versatile, 99% of hosting allows it.

The best part though is I can almost always find code and reuse it. Tons of php code out there.
 
DParker,
I completely agree but what is the best way to do this? For instance how do I learn the big picture of where and when to use loops, arrays, variables and conditionals? Where do they fit and how are they used? What is your guidance on learning this big picture?

Thanks,
 
Coming from 6 years of PHP/MySQL development PHP is by far the easiest language to learn and you will actually be able to make something useful in days instead of weeks.

tizag.com/phpT

Tizag is an excellent starting point for learning the fundamentals and basic programming concepts such as If/Else statements, For loops, Logical Operators, Arrays, POST and GET data, manipulating strings etc etc.

From there on PHP.net, the home place of PHP, is where you can search for specific functions and more detailed explanations as well as specific examples. Once you get the basics down you are ready to start playing around with databases, the most common being MySQL, which tizag also has a friendly tutorial on.

tizag.com/mysqlTutorial

After you feel you have mastered these key aspects of programming you could start looking into the magnitude of PHP Frameworks. I am currently getting into CodeIgniter but there are others such as CakePHP and ZEND.

Just remember it will take time for you to become proficient but in the end it will all be worth it!

_Austin


*I'd post direct links but I'm not allowed yet.
 
DParker,
I completely agree but what is the best way to do this? For instance how do I learn the big picture of where and when to use loops, arrays, variables and conditionals? Where do they fit and how are they used? What is your guidance on learning this big picture?

Thanks,

Big picture-wise, it sounds like you need to take a course in discrete mathematics and then a course on algorithms.

Learning about data structures and then relational databases, would be a good next step.

Here's why I say this. Not knowing when to use a loop indicates you're not familiar with algorithms; arrays are just one data structure; conditionals are based on boolean algebra and propositional logic (covered by a good course in discrete mathematics); and just about any web-based application today is backed by data, so you really need to know something about relational databases starting with set-theory in discrete mathematics, and then continuing with a good database course that applies that set-theory and goes beyond it to deal with data normalization and why it's a good idea.

I haven't met a good programmer yet who hasn't had a thorough grounding in math. That's what you need to see the big picture.

Go ahead. Call me a curmudgeon.
 
Big picture-wise, it sounds like you need to take a course in discrete mathematics and then a course on algorithms.

Learning about data structures and then relational databases, would be a good next step.

Here's why I say this. Not knowing when to use a loop indicates you're not familiar with algorithms; arrays are just one data structure; conditionals are based on boolean algebra and propositional logic (covered by a good course in discrete mathematics); and just about any web-based application today is backed by data, so you really need to know something about relational databases starting with set-theory in discrete mathematics, and then continuing with a good database course that applies that set-theory and goes beyond it to deal with data normalization and why it's a good idea.

I haven't met a good programmer yet who hasn't had a thorough grounding in math. That's what you need to see the big picture.

Go ahead. Call me a curmudgeon.

You are a crusty irascible cantankerous old person full of stubborn ideas.

BTW, thats what ubiquity (firefox addon) gave as the defintion, lol.

Good advice though.
 
yeah i would also recommend php/mysql/html skills as a starting block... as someone mentioned its widely support and you can even run it php/mysql from your own desktop pc without the need for even real hosting... ie WAMP

its also what a lot of the most common cms/scripts/blogs use...
 
Good response @Rick4691.

Learning the fundamentals is key to becoming a great programmer. I would recommend enrolling yourself in a university course. Math is key to becoming a great programmer and actually understanding what you are programming. Understanding the mathematical theory behind programming is very important.

If university isnt for you, several community college's offer night courses focusing on introductory courses on web programming, .net or php programming. These courses are great for learning the language and how to do things. Introductory books are great too for learning syntax and semantics of any language. Go to amazon, find some book titles, and then download the ebook from a torrent site.

But if you really, really, really want to understand computer programming, get a Computer Science degree.

In my experience, programmers who have learned from a book, or have a college diploma , or anyone who does not have a Computer Science degree just dont have the deep understanding as those who have the degree. Programmers without degrees believe programming is like magic. I dont want to start any controversy here or anything, but there are always those people (without degrees) who are exceptions.
 
Like others have mentioned here, programming is a mindset; it's a way of thinking.

Once you can think like a programmer the syntax of a language becomes secondary. My day job is working with C# however I took one look at some PHP code and created a new function to extend the script because I know how to code.

PHP is a great web-based scripting language. The keywords in this sentence are *web-based* and *scripting*.

PHP is very powerful in so far as it lets anyone easily and quickly connect to a mysql database and extract information using a nice easy dynamic SQL Select statement.

You need to think about what you want to be doing in five years time and go from there.

I would recommend doing a computer science degree and then getting an internship with a large company to unlearn what you have just learnt. The degree will give you the paper and an understanding but the chances of you coming out and writing a B+ tree algorithm are pretty rare (and if you do, you are using the wrong language :D).

Good luck
MDS
 
Back
Top