Why do people say Website Programming is easy?

If you look at stuff such as this

http://demo.joomla-monster.com/237-jm-computers-electronics-store

move the mouse over that menu. Holy ****!!!

How could that even be easy to make? Also it runs on this framework

surely that has to be a lot of programming skills else anyone can use these frameworks and create amazing templates?

My father is currently working on a large Drupal project, it does not look easy or fun.
On the other hand, if it goes ahead the pay will be pretty **** good =]

Some things you think are really hard and complex are primitive to make, other things that you think are primitive to make are horribly complicated. And whenever Im forced to read (or worse, write new) JS I fish this voodoo puppet of the JS inventor out of a drawer, so I can punish him. :smiley:

The Menu is made with CSS3 - just search for “CSS3 menu” and you will find a bunch of tutorials and demos.

Your jaw is being dropped by some well written HTML and CSS, possibly with a tiny amount of JavaScript (I didn’t look at it that closely).

Making something pretty is usually the job of a designer. In Unreal terms that would be your artist, making 3d models. Their common tools are HTML, CSS and Photoshop or near equivalent.
If the front-end does something snazzy, that’s usually the job of a front-end developer. That’s a guy who does HTML, CSS, and JavaScript. They’ll usually have some back-end knowledge, some UX knowledge and some design knowledge. He’ll mate whatever the back-end code spits out with the front-end design, making static HTML and CSS do fun and exciting things. In unreal I guess this guy is your Blueprint and gameplay guy?
Then you’ve got your back-end developer. This is the guy who’s responsible for everything behind the scenes, like page loads, database, login, payment, security - every functional aspect of what makes a website useful. This would be your C++ programmer.

Joomla has nothing to do with the appearance - that’ll either be custom to the theme, or custom to the specific plugin… often specific to the exact implementation. Joomla is primarily a CMS (content management system) whose front-end is pretty basic, and is mostly centered around the back end with heavy modularisation. Think of it like Wordpress, and plugins. Or Unreal Engine, and blueprinted assets.

People say web development is easy because there’s a lot of stuff you can do in isolation, with a low entry fee, and a low chance of failure.
You can vomit out an HTML page with some “not looking too crappy” CSS in minutes. HTML was designed by Tim Burners Lee with ease of data sharing in mind, so that makes sense.
You can download frameworks and setup very feature-rich websites pretty quickly. With some small knowledge, you can tweak their design and layout and customise certain elements. A little knowledge goes a long way.
One of the most popular programming languages for web development - PHP - also lets you get away with a lot of bad coding practices. This is partially by design; it was invented as a language intended to be easy to learn, use and digest.

This is where the problem arises; A little knowledge goes a long way, and it’s very easy to make something that works, but is actually a ****-poor solution. Often the flaws won’t get exposed until a malicious user attacks your site, and horrifying things happen which cause you to lose your job/company. Unfortunately people are prone to take the least-effort solution, and it takes a knowledgeable developer to show people the right way to do things, and often remind them that just because you can do something one way, doesn’t mean you should.

Well no, like any company or individual system on the internet, they had an exposed endpoint which was vulnerable to an attack, and someone took advantage of it. Interestingly enough, malicious users - especially ones making targetted attacks - rarely announce their presence when they’ve made access to your server. If you’re lucky, you’ve got some kind of monitoring which can pick up on such a thing. If that doesn’t happen, then usually the group will let you know that they stole 300,000 personal details because they want their street cred. Non-malicious (data harvesting, or government) attacks are very, very hard to pick up on, precisely because they don’t want to be detected.

The situation would have been exacerbated by the fact it’s a government entity - regardless of the data stolen, governments are notorious for putting up with problems and not spending the money to fix risks, having endless red tape and hoops that need to be jumped through before things get fixed. Chances are that their systems used old operating systems, using old software, because keeping them up to date was either a massive inconvenience, or the code they ran was incompatible with more recent versions.

This isn’t a trait restricted to governments, either - I’ve worked for companies who have had gaping security issues pointed out to them but had them considered trivial low priority items because fixing them would require time, effort, and dealing with the issue isn’t a revenue-generating task. It’s not until these flaws are exposed in a fatal manner that they get fixed in a mad panic. Richard Fyneman famously point out in the Rogers Commission Report on the Challenger disaster; engineers identify critical risks in a quantitative scientific manner, while the further you progress up the chain of management, the further reduced the perceived risk becomes.

Only in recent years has DevOps really been recognized as a true web role. Maintaining your servers, security and up-time is the primary aspect of this role.
The old methodology used to require someone manually setting up a server, and if you were lucky you could clone it as a virtual machine. Updates would be applied to each box individually during a “quiet period”. Thanks to the likes of Google, Facebook and Amazon, we now have systems where I can literally type one command and a multi-server cluster will be created in the cloud to my specifications. This can load my web-app code all by itself, and I can have a cluster of servers running in minutes. If a security alert comes out, I just update a single service container (like, the webserver from v2.1 to v2.2) and press my button again. A brand new cluster is created, and the old cluster is decommissioned minutes later.

Being complacent often leads to failure. Diligence is expensive. “Simple” websites are to enterprise cloud-service websites what driving a golf cart around a golf course is to rally driving.

Hi V1nce thanks for the well detailed post.

May I ask a question?

If I want to get into programming as a career, do I need a computer science degree? or can an CIS degree work? because I know without advanced maths you can be limited in what you can do. Say I want to get into app development for businesses building .NET aps C# and JAVA etc for what business clients generally want. Offcourse I am not talking big fortune 500 companies I mean regular medium sized businesses. The general services in SQL that your average medium size business requires.

How else can I put it?

http://www.caribbeanjobs.com/Programmer-Job-62566.aspx

^ that is perfect for what I am talking about

Can a IT degree and lots of self learning be suitable for this?

The fastest way in would be a CS degree. CIS is pretty generalised, so you may still have to prove that the CIS was sufficiently rounded to teach you all the core concepts required in your role. This discrepancy could be the difference between making a candidate shortlist, and not.

Once you get above 6-8 years experience in an industry, people will guague you based off the Experience listed in your resume. Until that point, they will be looking at your qualifications and looking for any other examples of your work, to try and figure out what you know and how good you are at it. A CS degree provides a solid baseline for a senior engineer to teach you more specific stuff, without teaching you the basics. When a qualification isn’t available, they’ll look to any examples you can provide - A StackOverflow or GitHub account is great for showing what you understand and what you can do.

If you’re largely IT based, I’d suggest some self-learning, but ideally you could do an open course out-of-hours to teach you deeper concepts and approaches to problems. If that gives you a qualification of some kind at the end which you can show to a prospective employer, all the better.

Thank you so much V1nce. You have convinced me to become dedicated to this, I will take your advice and create a stackoverflow and Github account. I will also try to make my own projects to show off what I understand and know. Hopefully I can get a junior level programming job somewhere and work my way up.

I am going to self study Advanced Level High School Pure mathematics where I could then pay a tiny fee and just go for the day the exams are held and sit the exams. I am 30 years and hence high school is way out of my goals. So this way I can get the pure mathematics certificate that will allow me to apply to University of the West Indies (UWI)

The thing is I was doing a BASc in Computer Engineering at a low rate university that was not accredited. The issue is their maths is on High School level and the course is not accredited by anyone. Hence the reason they took me to do the Degree with just a Associated Degree in IT which has nothing to do with maths and computer science. Say I did complete it, the knowledge obtained would not be worth much and would be a waste of my time hence the reason why I got in so easy without any sort of proper qualifications.

So I have made the decision to sacrifice and get this certificate in pure maths and apply to UWI their requirements are very strict. This university is the best in the Caribbean, their Engineering courses are triple accredited internationally and their medical doctors are recognized in the USA. Their computer science degree is one of the toughest aswel.

I say look I am 30 years old but if I do nothing I will be 35 with nothing. But if I start now in 5 years or 6 years I will have my computer science degree. hell worst case scenario lets say I get my Computer Science degree by 37 years it would still be worth it to me. I will have something rather than nothing. I rather this than spend 4 years in the low rate university and get a joke of a computer engineering degree and trust me it really is a joke compared to UWI. I realize now there are no shortcuts in life and you need to do hard work to succeed in life.

Website programming is not easy before 10 years but after commonly used of internet and search engine technology, people have so many options to learn and understand programming. There are many online website that teaches web programming and also lots of online video and tutorials are available over internet that provides proper guide of web programming. If web develop has any particular problem during developing a website, they can easily find out solution through searching over internet.

Web programming is easy, you can google and find all solutions you need.
Compare that to programming huge system for some big corporation, where you cannot find ready to use solutions.
Or making some low level code for embedded systems or programming time critical procedures for real life machinery.
For eg. my friend works for some producer of automated processing lines, his code is full of physics and nonlinear algebra. Like realtime finding solutions for some crazy Laplace equations. Or timing stuff to ms based on some equation that is again non linear and on top of that depends on temperature outside. Well even search this forum for 4 wheels physics and solving all those quirks there, then tell me web programing is easier.

Troubles in web programming come from all those tiny nuisances, and huge elephant that nobody likes to mention that is security.
Industry programming on other hand is mostly new area, you need to start from developing methods and algorithms before you can even start to code.

There’s your problem. Drupal is a huge beast, and is a pain in the *** to work with.

But yeah CSS3 menus aren’t hard; I have one on one of my forums. I just need to figure out how to get the dropdowns to stick to it. :L

Easy is a relative term.

To a baby, walking seems hard, until they learn to walk.
Driving can seem hard, until you learn to drive.
And so on.

In my case, I found PHP and the like easy to do as by the time I faced a task that required them, I had worked plenty with ansi-C & C++.
Everything gets easier to repetition and practice :slight_smile:

On a relative scale compared to other Programming Tasks (overall) it falls under easy. And to be honest it gets easier as time goes on. You got so many Frameworks and Tools nowadays and the really strange thing is that they move towards getting directly into the Plattform. Example variables in CSS (potentially more) could outdate SASS and LESS unless there are still features like Mixins etc. that dont get built in into the Plattform.

Often find myself thinking what do I actually choose now to make this specific Website its really a lot to choose from xD

Developing web apps is very easy and straight forward. Just start from 0 and create your own re-usable framework.

Developing and designing a website was easy back then , but now hell no , just look at modern websites design , it’s more like art now , you need to be creative to make such a good looking website , and about security you need to be sure of every bit , man i don’t think making websites is easy but comparing it to video games , websites are much easier

They must be thinking of the ol HTML and css websites lol

People

People, who don’t understand anything in programming say so.:mad:

People say website programming is easy because they think that websites are just simply some HTML and CSS and in all honesty it is not hard to get a very primitive website up and running.

But when it comes to a website being able to do cool things (depending on what you think of as cool) things like being able to base a website’s functions on a database and being able to use relational databases that is when you start to need other things such as ruby on rails and MySQL, ruby on rails is a backend framework to build your website on that outputs html to the front end of your website.

All in all what i am trying to say is that developing anything is only as easy as what you want to do with it, you want to build a one page website with basic functionality that would be fairly easy.
You want to build the next Facebook, well that is a complete other story.

Yeah i completely agree with you, i have my opinions about facebook but that is a rant that i could go on about for a decent while.

But anyway, i think security now a days should be at the top if not the top of a companies priority list period.

Making Websites is easy… making good websites that make people want to stay and read… completely different kettle of fish. People see the websites on the TV telling people that they can make their own websites as easy as 1, 2, 3 with their magic software and they believe them.