LebGeeks

A community for technology geeks in Lebanon.

You are not logged in.

#1 May 28 2014

nosense
Member

Web programming most common languages

Hello guys

So I'm somehow not a beginner anymore in web construction , I did learn HTML, CSS, JavaScript and PHP. But what now? when I look around I notice websites are 'Wordpress' and forums are 'phpBB' and nobody uses just plain code.

So what's the deal and what do I need to be a professional in this field?

Offline

#2 May 28 2014

Johnaudi
Member

Re: Web programming most common languages

You learned all of those, have you tried mixing them all up into one website? :)

Offline

#3 May 28 2014

rolf
Member

Re: Web programming most common languages

aliessayli2 wrote:

So what's the deal and what do I need to be a professional in this field?

How about some experience?
There are a million considerations in web programming.

PS: when you say "I've learned XXY" I'm pretty sure you don't really know XXY like a professional would.

What you need to be a professional? Lots of time, patience, and masochistic tendencies. Alternatively, if you have sadistic tendencies and like to rip people off or exploit people, that could work as well.

Last edited by rolf (May 28 2014)

Offline

#4 May 28 2014

nosense
Member

Re: Web programming most common languages

Johnaudi wrote:

You learned all of those, have you tried mixing them all up into one website? :)

Of course I did

rolf wrote:
aliessayli2 wrote:

So what's the deal and what do I need to be a professional in this field?

How about some experience?
There are a million considerations in web programming.

PS: when you say "I've learned XXY" I'm pretty sure you don't really know XXY like a professional would.

What you need to be a professional? Lots of time, patience, and masochistic tendencies. Alternatively, if you have sadistic tendencies and like to rip people off or exploit people, that could work as well.

What I meant is now I know these fields and been working around for quiet some time ( I didn't Google search tutorials last night) but my question was do people nowadays really create a website from scratch while there are so many tools out there ?

Last edited by nosense (June 7 2014)

Offline

#5 May 28 2014

rolf
Member

Re: Web programming most common languages

aliessayli2 wrote:

What I meant is now I know these fields and been working around for quiet some time ( I didn't Google search tutorials last night) but my question was do people nowadays really create a website from scratch while there are so many tools out there ?

I do. I've been doing that for years.
It's good for people who are picky and want something very particular and good performance. It's also useful for apps and big websites, for example, Facebook wasn't built on Wordpress or Drupal.

Wordpress is pretty successful for people who want something conventional, fast, rich (in features) and cheap. It has a huge market. Many people just want a website like the one of their competitors (which happens to be made using WP) or just a website with a news ticker and photo gallery and their logo in the top right, and don't want to pay much. It is impossible to compete with Wordpress (and similar solutions) in such cases.

But when a customer starts to demand something very tailor-made and is picky on details, Wordpress goes to hell very fast, and he will eventually have to start over from scratch.

Offline

#6 May 28 2014

nosense
Member

Re: Web programming most common languages

Thanks that was really helpful
Do you recommend adobe Dreamweaver ?

Offline

#7 May 28 2014

m.sabra
Member

Re: Web programming most common languages

i checked the site and the source and i have few remarks,those remarks aren't for trolling/showing off or any other similar reasons,they are only to show you few things that you can improve and use in future work and if any other member have different opinion i will be happy to listen.

so first,the background image,you used

<body background=" ">

to put the background image,you should put the background using css instead like this

body { 
  background: url(image url here) no-repeat center center fixed;
  background-size: cover;
}

this will give a centered,fixed,full size background.since with your current code part of my screen was covered by the background and the rest was white.

and the background features a green box that i suppose login,username,pass..should be in it,so this technic isn't practical since it's kinda impossible to make it fit on any screen,like for me they are way out of the box,the way it should be done is using the background without this box,and making the box in CSS as a division,then create the login form inside this division then you can fix positions and margins of the elements inside the division,this way you will always be sure that the login form will show inside this box and with proper alignments.(i have done a similar thing but the work isn't online)

the three buttons in the upside should be floated right,the width of the main div should be set to auto.

all in all the code is kinda messy,you should organize your divisions more,use style sheets instead of the excessive (<style>) tags.
a good practice will be drawing the design (on paper or pc) and try making it happen,and use css instead of images to generate the style.

this is how the page showed when i opened it http://oi59.tinypic.com/33afj2h.jpg
this is how i made it look by modifying your source code http://oi58.tinypic.com/wwceit.jpg try to improve it to look like this as a start.

and as a final advice as the others said,practice and try to earn more experience,your first few works won't be top notch but you will sure improve with time by gaining experience.

Offline

#8 May 28 2014

nosense
Member

Re: Web programming most common languages

i checked the site and the source and i have few remarks,those remarks aren't for trolling/showing off or any other similar reasons,they are only to show you few things that you can improve and use in future work and if any other member have different opinion i will be happy to listen.

I never take advice as "showing off" since I posted the link for the website my self and I know for sure that it isn't the best thing I can do.

so first,the background image,you used

<body background=" ">

to put the background image,you should put the background using css instead like this

body { 
  background: url(image url here) no-repeat center center fixed;
  background-size: cover;
}

this will give a centered,fixed,full size background.since with your current code part of my screen was covered by the background and the rest was white.

I did use css but I think I put the image url in the body out of laziness , this is the css code

body
{
    background-repeat: no-repeat;
    background-size: cover;
}

and the background features a green box that i suppose login,username,pass..should be in it,so this technic isn't practical since it's kinda impossible to make it fit on any screen,like for me they are way out of the box,the way it should be done is using the background without this box,and making the box in CSS as a division,then create the login form inside this division then you can fix positions and margins of the elements inside the division,this way you will always be sure that the login form will show inside this box and with proper alignments.(i have done a similar thing but the work isn't online)

the three buttons in the upside should be floated right,the width of the main div should be set to auto.

This was my major problem , since the style was my first design so I thought I use photoshop and try to place the division inside the box which turned out to be impossible to do on every resolution.

all in all the code is kinda messy,you should organize your divisions more,use style sheets instead of the excessive (<style>) tags.
a good practice will be drawing the design (on paper or pc) and try making it happen,and use css instead of images to generate the style.

this is how the page showed when i opened it http://oi59.tinypic.com/33afj2h.jpg
this is how i made it look by modifying your source code http://oi58.tinypic.com/wwceit.jpg try to improve it to look like this as a start.

and as a final advice as the others said,practice and try to earn more experience,your first few works won't be top notch but you will sure improve with time by gaining experience.

I used style sheets to create like a generic style then tried to edit them by overriding a specific attribute when I need , is that a bad thing ? should I create a specific style for every single item ?

thanks for having the time to check out the website I accept criticism , it always lead me to do better work

Offline

#9 May 28 2014

rolf
Member

Re: Web programming most common languages

aliessayli2 wrote:

Thanks that was really helpful
Do you recommend adobe Dreamweaver ?

Whatever works for you. I personally don't use DW because it's not free (and I try to avoid piracy) and I like to have more control on my code, although DW it better then many others. I use Sublime text editor... check it out if you have some time. It's just a text editor but like a text editor on steroids.

What matters more is that you are able write code using Notepad only, and you're not only copy-pasting stuff you don't understand and using software to do the work for you.

Offline

#10 May 28 2014

Cpt.Majed
Member

Re: Web programming most common languages

@aliessayli2 Last year I learned PHP and HTML and I created a social network and I thought I'm a pro but when I got a job at a company as a Web designer and developer I found out that its a whole different thing. Each company has it own method. Some companies use DW others notepad only.But I personally like DW.

if you want some cool stuff learn Jquery and HTML5. It's more like an alternative to flash since its not used anymore.

And nowadays the "trending" stuff about web programming are the SEO ( Search Engine Optimization) and how responsive is your website.

So for example when you re size your browser everything will be out of position so instead of using px in your css code , use percentages so it will always be relative to your monitor.

Offline

#11 May 28 2014

nosense
Member

Re: Web programming most common languages

rolf wrote:

I use Sublime text editor... check it out if you have some time. It's just a text editor but like a text editor on steroids.

I checked it out and I like it already , it has a sleek design and very helpful especially the 10 selects at a time thing !

Cpt.Majed wrote:

@aliessayli2 Last year I learned PHP and HTML and I created a social network and I thought I'm a pro but when I got a job at a company as a Web designer and developer I found out that its a whole different thing. Each company has it own method. Some companies use DW others notepad only.But I personally like DW.
if you want some cool stuff learn Jquery and HTML5. It's more like an alternative to flash since its not used anymore.
And nowadays the "trending" stuff about web programming are the SEO ( Search Engine Optimization) and how responsive is your website.
So for example when you re size your browser everything will be out of position so instead of using px in your css code , use percentages so it will always be relative to your monitor.

Thanks for sharing your experience ! I decided to check DW and it can do some work which saves time and effort for repetitive work, and thanks for the hint at the end.

Offline

#12 May 28 2014

Kassem
Member

Re: Web programming most common languages

Ok I'm not going to give an elaborate answer here... just a few things off the top of my head:

1. Don't use DW or any similar tool for the time being. Use Notepad or preferably some better text editor. The reason I'm saying that is because at this point while you're still learning very basic stuff, you do not really want some software to do anything for you behind the scenes. You should be in control over everything so you could learn better.

2. Stay away from PHP.

3. Get your hands dirty. Try everything you learn and get hands-on experience. Don't assume you've become good at programming just because you can create a page which allows users to register and login. That's the least thing I'd expect from a web developer. You still have a long way to go, but trust me it's gonna be a lot of fun if you're passionate about programming.

Good luck!

Offline

#13 May 28 2014

nosense
Member

Re: Web programming most common languages

@kassem thanks for the tips , but the second one seems strange a little , why would I stay away from php?

Offline

#14 May 28 2014

Kassem
Member

Re: Web programming most common languages

aliessayli2 wrote:

@kassem thanks for the tips , but the second one seems strange a little , why would I stay away from php?

Well it's just a personal preference. I used PHP in the past, I got mad at it and moved to something else, something better, much better. I don't really want to go into a discussion about whether PHP is good or not, such a discussion will not lead to anything useful. It's simply a suggestion and you're free to consider it or not. :)

Offline

#15 May 29 2014

rtp
Member

Re: Web programming most common languages

i second Kassem that you should get your hands dirty and use at first something like notepad++ and then upgrade into an IDE that will help you out more.

Offline

#16 May 29 2014

rolf
Member

Re: Web programming most common languages

Kassem I can understand you saying stay away from PHP but you dont give any options or tips for a replacement, which was one if his initial questions (what to learn next).

PHP can do the job but it can also be terrible as well. Since we're at it, the same can be told about MySql (and SQL) in general, unless you're dealing with something like financial records where atomicity, reliability and having a fixed structure is very important. It's not the case with most websites. Most websites would be more fitted for a "nosql", document-style database such as CouchDB or MongoDB, although I havent tested this claim yet.

Regarding the alternatives to PHP I can think of some:
- Ruby and Ruby on Rails
- Microsoft stuff (C#, etc.). I've heard good thing about them.
- There is something called node.js. Basically it's server side Javascript. Although it's interesting, it's not really a replacement because its not an html templating language like PHP, and cant be embedded inside HTML files.
- There is, of course, PERL, which still can do the job, and other "exotic" options.

I still use PHP but think there must be something better out there.

Offline

#17 May 29 2014

NuclearVision
Member

Re: Web programming most common languages

If you don't know python, learn python.
If you know python, learn django!

Offline

#18 May 29 2014

Joe
Member

Re: Web programming most common languages

So what's the deal and what do I need to be a professional in this field?

About Wordpress, phpBB, and other premade solutions

First off, if you can use an existing project to do your website, use them. There are a billion reasons to do it, I wrote about it before.

Obviously, it won't hurt to know how to build your website from scratch, even though in practice very few people still do that. A good compromise (and very common solution) is to use what we call Web Frameworks. It's just a bunch of libraries and functions you can use in your code, covering the most common actions you'll need when working on a website. For example:

  • CRUD operations for your databases.

  • Generating HTML forms and sanitizing input

  • General security good practice, like the CSRF token

  • Performance tricks, like caching

  • A templating model (but you already get this for free when using PHP. That's not true for all other languages).

The list goes on, and depends on the framework you decide to use. Here are the most famous ones you can find in PHP:

The upside is that you will learn a lot about web development in general by studying how these frameworks work.

About Dreamweaver

Don't use it. If you use it you will never bother learning. If you learn, you will never feel the need for it.


About PHP

PHP as a language has some serious advantages, usually linked to its huge popularity:

  • You can find a job easily

  • You can find professional hosting and other tooling very easily

  • It's a templating language which makes it wonderful for web development

But the truth is, you'll suffer a lot in your carreer if you limit yourself to a single programming language. If you want to be competitive in the field, you should learn a few other languages.

These languages will be very useful if you want to find work in web dev:

  • Java and the JEE platform

  • C# and the .NET platform

  • Python (my own personal favorite, it's such an elegant language)

  • Ruby

There are other languages you could learn that will make you a better programmer even if you never use them professionally a single day in your life, some examples:

  • C (and to a large extent C++) will teach you about how computers work

  • Haskell will teach you a complete new way to reason about your programs

  • Lisp is a language to create languages. It will change the way you program forever

Each of these languages will present you with several web frameworks. Again, here's an opportunity to learn so much about the field!

About being a beginner

Unless you've been programming for the past 30 years and/or have worked on a website with over 30 million page views per month, you're a beginner. The field is so vast, complex and ever changing that the second you think you have nothing to learn, you're outdated. As a matter of facts, the more you'll learn, the more you'll realize how much you don't know. The simple act of opening the Google homepage in your browser is an action that's hiding such a complex mechanism, it'll make your head spin.

Most of the problems we deal with when programming have to do with managing complexity, whether this complexity is about too many features in a single website, too many visitors making your website slow, too many programmers working on the website at once, too many things affecting your website and giving you headaches.

We already mentioned learning new programming languages, here are a few things you can do to start practicing "real world programming". There are thousands of other suggestions:

  • Learn advanced JavaScript. JavaScript is arguably the biggest game changer in the web programming field today. It's not a cute language to make animations anymore, but really a language to have apps running in your browser. Learn a few frameworks (I recommend AngularJS) and try to reimplement a large app, like Gmail.

  • Learn more about HTTP. Learn how to configure popular http servers (like Apache or nginx). Write your own simple Http server for fun.

  • Learn more about the system you're using. If you're on Windows learn everything you can about Windows. Install linux. Learn to deploy your website on a Linux VM. Then learn to deploy your app on the Internet yourself.

  • Learn more about source control. If you want to learn only one, learn Git. If you ever plan on collaborating with other developers on a single website, this is by far the most important one. There's nothing more annoying that a programmer who doesn't know how to save her code and share it with others. Unfortunately, it's far too common.

  • Learn more about the Internet and how it works. Learn what's IP, TCP, UDP, DNS, DHCP, NAT, and all the other technology that make Internet what it is.

  • Learn more about the Cloud. Learn to use different models, like PaaS (example Heroku or Google App Engine) or like IaaS (example Amazon Web Services, OpenStack or Google Compute Engine). Webapps developers who know how to take advantage of the cloud will be ahead of their competition in the near future.

  • Learn what's an API and use a few of them in your website. You could start trying the Twitter API or the Google Maps API. Learn to write your own API so that your visitors can interact with your website programatically. Right now, this is the one I personally struggle with the most. Elegant API design is insanely difficult. I found REST to be a great guideline, but it doesn't solve everything.

  • Learn that your visitors might not be accessing your website from a PC, but from any kind of device. Learn about Responsive design and mobile apps development.

  • Learn the basics of security. What are the common attacks your website will endure, and how to resist them?

  • Learn the importance of testing, and how to write good tests. It's unfortunately too common for projects too be badly tested. A good QA engineer can improve the quality of your website by several orders of magnitude. Learn what's Continuous Integration as well as its little cousin Continuous Delivery. Learn to configure Jenkins and/or Travis.

  • Learn about advanced programming concepts like lazy evaluation, concurrent programming, caching, meta-programming, ... They will be extremely useful for managing complexity. (Note: PHP is not really the best language to practice these)

Conclusion

I know this may seem like a lot. It would take several months, if not years to barely scratch the surface of each of these topics. And even then, you wouldn't have seen most of what our field is about. It's common for newcomers who make their first website to get the feeling that they got everything figured out. It's easy to think that our whole field is reduced to something like Worpdress. As I said before, what we do is extremely complex, and we make extreme efforts to make it look simple. It's also changing constantly. If you want to remain competitive and relevant in the field 20 years down the road, start learning all these topics :)

Offline

#19 May 29 2014

Kassem
Member

Re: Web programming most common languages

rolf wrote:

Kassem I can understand you saying stay away from PHP but you dont give any options or tips for a replacement, which was one if his initial questions (what to learn next).

Well I can only give suggestions from my own personal experience. So naturally I'd say dump PHP and go for C# and the .NET framework. Whatever you can do in C#, you can probably do it in PHP as well. But PHP is ugly, and unless you're very careful, it'll naturally teach you bad coding practices.

The points rahmu listed in the "About being a beginner" section are pure gold. Those will keep you busy for a long long while (longer than a year) and they will pretty much make a programmer out of you. I will stress the following:
- Learn JavaScript. Once you're very comfortable with the language itself, learn AngularJS. It's by far the most powerful JS framework I've worked with.
- Learn more about HTTP. This is extremely important.
- Learn more about source control. This is a required skill for anyone who wants to work on a team.

Last edited by Kassem (May 29 2014)

Offline

#20 May 29 2014

Ayman
Member

Re: Web programming most common languages

I agree with what Kassem and rahmu said. But just want to comment on PHP. Yes you have to be careful what frameworks you use and which books and tutorials to follow or read. PHP has a well known past of horrible practices and anti-patterns. But the modern PHP community is much different.

The language is (kinda) improving and new frameworks like Symfony 2 and Laravel 4 are pretty decent for building modern web apps. The Laravel community is very serious about following SOLID principles and testing.

PHP itself, as a language is ugly, but its useful as a web language and can get the job done. You will find much more elegant and enjoyable languages out there like Python and Ruby.

If you ever consider PHP I would suggest checking out PHP The Right Way. And as others previously mentioned, never limit yourself to a single platform or language, always keep exploring as much as you can. While of course being an expert in at least one thing.

Offline

#21 May 29 2014

nosense
Member

Re: Web programming most common languages

rahmu , Your posts are life changers , after I read it , it was like I have a challenge for the upcoming years and that is what I want !

There are some topics you mentioned that I already dug into , especially the HTTP and how networks work , I'm taking a networking course next fall but I never wait for that , I just get myself into problems and try to solve it (funny thing , I soft bricked my phone today)

Every day I realize more that a person learn nothing in university.

Last edited by nosense (May 29 2014)

Offline

#22 June 1 2014

venam
Member

Re: Web programming most common languages

--

Last edited by venam (September 9 2016)

Offline

Board footer