The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 80,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

Learning to Program is STUPID! (or SMART?!)

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
I'll just add more fodder to a thoroughly overstuffed thread. This may seem harsh but really if you're not already interested enough in coding to be doing it because you want to by your teen years...you probably never will. I'm sure there are people who started coding in their 30s but I doubt it's common. You have to be somewhat brain-damaged to enjoy and persevere thru 10,000 hours of "omgwtf why isn't this thing working right??" There's also plenty of people who'll do it for you...I'd suggest rather than learning to code you learn how to disseminate your requirements to your developers, and identify what developers are good. You should have some understanding of how it all fits together, but that doesn't mean you have to actually code, just like a professional driver probably knows quite a bit about how his car works but still doesn't rebuild his own engine, as that's a separate job.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

sle3pyguii

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
121%
Aug 19, 2012
340
411
Just curious...

What's the point of learning coding when so many free/cheap website makers such as weebly exists? Wouldn't it be easier to just fork over a few bucks a month to be able to make a website ten times faster with pre-made themes?

In the short-term, yes.
In the long-term, no.
 

Lex DeVille

Sweeping Shadows From Dreams
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
597%
Jan 14, 2013
5,373
32,071
Utah
There's also plenty of people who'll do it for you...I'd suggest rather than learning to code you learn how to disseminate your requirements to your developers, and identify what developers are good. You should have some understanding of how it all fits together, but that doesn't mean you have to actually code, just like a professional driver probably knows quite a bit about how his car works but still doesn't rebuild his own engine, as that's a separate job.

I've found this comes in extremely handy.

I didn't have a clue about what was needed when I hired my first developer. Dropped $1600 that I won't be getting back. After that I started learning the basics so I could modify his coding to meet my needs. Still not there yet. But after 3 developers and a few hours playing around, I'm at least semi-competent enough to tell the developer where to go, what files to look in, and what type of code language he'll need to know in the first place.

At the very least I don't feel like a jackass throwing away money anymore. :)
 

Lex DeVille

Sweeping Shadows From Dreams
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
597%
Jan 14, 2013
5,373
32,071
Utah
@Glantern13 I think the fastest way to learn to learn a programming is with Head Fist books. They use a "neuro-science" technique" to keep your brain engaged.

This is the closest thing to the "knowledge injection" of The Matrix.

http://www.headfirstlabs.com/

Do they offer audio as well?

If not, then it's not going to be much use to auditory learners.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Glantern13

New Contributor
User Power
Value/Post Ratio
91%
Dec 16, 2014
11
10
50
Thanks for the replies. I think what I am looking for though are resources to teach me about the basics of programming, not how to program per se. What are the different web programming languages and programs and what are they used for? HTML, mySQL, Javascript, etc.
 

jeandearme

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
61%
May 2, 2011
187
114
Thanks for the replies. I think what I am looking for though are resources to teach me about the basics of programming, not how to program per se. What are the different web programming languages and programs and what are they used for? HTML, mySQL, Javascript, etc.

For web HTML, CSS (styling code) and Javascript are fundamental (JS for making webpage animations). Tons of tutorials out here - as someone mentioned www.codecademy.com or www.codeschool.com are great for starters.
 

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
Thanks for the replies. I think what I am looking for though are resources to teach me about the basics of programming, not how to program per se. What are the different web programming languages and programs and what are they used for? HTML, mySQL, Javascript, etc.

This is actually a great question, and what I meant with my professional driver analogy. I wish I knew a great site for this but I don't. Most of the time you get a brief introduction to "How XYZ fits into the picture" and then it dives right into XYZ. A site that explains how webapps work at the component level (core/single server setup, frontend/cache server + backend app server setup, database, php vs javascript vs etc, HTML vs CSS etc) for someone who won't be doing any coding would be a hugely useful resource for many people here.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

sle3pyguii

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
121%
Aug 19, 2012
340
411
Thanks for the replies. I think what I am looking for though are resources to teach me about the basics of programming, not how to program per se. What are the different web programming languages and programs and what are they used for? HTML, mySQL, Javascript, etc.

If you're willing to pay a monthly fee, you can try http://teamtreehouse.com/.

I'm using it right now to learn HTML/CSS/Javascript and it's been pretty helpful. They go through what the program you want to learn does and how it fits into creating a page.
 

Kreedos Phoenix

Bronze Contributor
Read Fastlane!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
282%
Nov 30, 2014
149
420
Phoenix, AZ
I'll continue to learn code as I progress through my journey, but its not a strong suit of mine. I dig this post because I think it'd make much more sense to put that focus and energy into learning marketing and writing copy...just from an overall development perspective.
 

PedroG

Silver Contributor
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
264%
Oct 1, 2013
298
786
NH
Just curious...

What's the point of learning coding when so many free/cheap website makers such as weebly exists? Wouldn't it be easier to just fork over a few bucks a month to be able to make a website ten times faster with pre-made themes?

Those are only good for very generic sites. There are limits to what they can do.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Jon Snow

New Contributor
User Power
Value/Post Ratio
31%
Dec 30, 2014
13
4
I think the fastest way to learn to learn a programming is with Head Fist books. They use a "neuro-science" technique" to keep your brain engaged.

This is the closest thing to the "knowledge injection" of The Matrix.

Hahahaa... can't agree no more with this.
I've been learning to code since 18 (now 25)... those Head First books always be the best to start...
 

Jon Snow

New Contributor
User Power
Value/Post Ratio
31%
Dec 30, 2014
13
4
I think you should learn coding if you truly have interest in it.

google guys? coded it themselves.
facebook guys? coded it themselves
ebay guys? coded it themselves
hotmail? coded it themselves
pinterest owners? coded it themselves
microsoft? coded it themselves.
reddit?
slashdot?
yahoo?
paypal?
and the list goes on.

the major owner's wrote the first version/prototypes themselves, before they started hiring programmers.

Yes... it makes sense.
Programmers give more respect to owner who can code...
They know they should give their best effort, or the owner will know it instantly.
 

PedroG

Silver Contributor
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
264%
Oct 1, 2013
298
786
NH
What I would say is start learning to see if you like it or not. If you like it, you'll want to continue learning. If you don't, then stop. I know it sounds simple, but it really is that simple. You don't just learn to program to make a product. You learn and continue learning because you like the process of programming. If you don't fall in love with it, you are better off forgetting about it because all you are asking for is frustration.

I can't tell you how many people I know who went to college thinking "I like computers. I'll study computer science, and make bank." Within weeks they switched their majors to English, Business, Psychology, etc. It's not for everyone.

I love programming. I enjoy writing code that is beautiful, maintainable and clever. I can't imagine someone having to build complex systems without liking the process.

Conclusion: Start learning to see if you fall in love with it. If you don't, forget about it.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
I would love to hear everyone's opinion.

If your business is fundamentally non-technical (you're reselling stuff off Alibaba, for example) then you may not need to code. You can quickly build an online store with the many tools and pre-made templates that already exist. However, all your competitors are doing the same, there's no "edge" for you.

If your business is technical you're either doing something from scratch, or doing extensive and complex reworking of existing components (usually both). In this case you're at a huge disadvantage if you don't have a technical founder and hoping to get your product off the ground with just contract programmers.

I think Jack Ma is being modest here when he claims Alibaba has "no technology". For it to be on the scale of Amazon it probably has a similar level of technical sophistication. Likewise there's a bit of an investor snow job going on when Jeff Bezos claims that Amazon is a huge innovator, but then again I hold the minority opinion that Wal*Mart will own this space 10 years from now.
 

HooverJones

New Contributor
User Power
Value/Post Ratio
25%
Jan 10, 2015
4
1
49
T
I happened to stumble upon this video and remembered this thread.

I would love to hear everyone's opinion.

Fast forward to 08:20



This video completely shattered my thoughts about having to know everything. I don't need to know how to code, but need to learn to live with it. Great posting. Txs.
 

ilrein

Silver Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
153%
Oct 1, 2012
390
597
32
I went to a NIN concert last night and slept in this morning. When I woke up my programmer had emailed me a completed project that I will use to further automate the marketing of my sites.

Leaders > programmers

Imagine the power when you are both.
 

luniac

Platinum Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
158%
Dec 7, 2012
1,781
2,811
33
brooklyn
I considered outsourcing my app ideas(bought http://theappshortcut.com/ for 100 bucks :/ but never used it) but then decided to code the apps myself because i figured its better to know tjat skill instead of business marketing. I just presumed if shit hits the fan, there's a lot more business people out there than programmers... so i become more valuable.

Now regarding the time sink... let me tell u i can make a "flappy bird" in 1 single day, and i dont gotta be an expert either. I have a feeling there's some trickery involved in making an app go viral and it doesn't have to be an amazing app either.
I haven't figured out that "secret" though yet but i have a feeling it involves some bots.

Also, I see the argument "tech keeps advancing" used a lot. I'll personally attest that i hate learning different programming languages and technologies, and i refuse to do so.
For the last 3 or so years, I've been learning one single piece of software called Unity3D and have used one single language called UnityScript(simlar to javascript syntax). That's it... PERIOD... that's my only tech and language and the software keeps getting improved, in fact i lucked out, when i first started learning it a few years back Unity3d was not very big, now its the largest piece of software used for app development. MAN DID I GET LUCKY WITH THAT ONE! cause i've been getting better and better with it.

PLUS. this is something that non programmers just don't seem to understand. We don't reinvent the dam wheel every time. There's a concept called "LIBRARIES", which are containers of code written by others that can accomplish anything ur heart desires. Ur job as a programmer is to know which library contains what functionality u need. Honestly most programmers may be smarter than ur average guy, but far from genii, we don't program complex mathematical algorithms on a daily basis, we just find the library that contains that function already lol!

For example, thanks to Unity3D,
I don't have to concern myself with how to render graphics, play sound, worry about compatibilities with windows, or even the different languages used by android or iphone! I could publish my app on both platform from one single project!

honestly if i spent 5000 hours learning Unity3d, Id be such a GRANDMASTER with the software, id be a millionaire just from freelancing because my fees would be absolutely enormous.


SO YES, if you treat programming like a traditional field, learning different programming languages, different tech, different IDE, etc etc etc then you will fail, because ull be uselessly multitasking, SAME AS IN BUSINESS, JUST FOCUS ON ONE THING AND KILL IT!


EDIT:
JUST TO BE FULLY CLEAR AND TRANSPARENT THOUGH
i graduated with a computer engineering degree, so ive been exposed to tech and programming for 5 years already through that, i used to break computers on my building roof as a child to see what's inside and had a burning curiosity to have a REAL understanding of how all that shit worked. I've been PC gaming ALL MY LIFE, until the last year and a half when i quit playing games and started learning how to MAKE games.

So i didn't feel like programming would be this huge massive task like someone starting from absolute zero might feel.

If i was 23 and had zero programming experience EVER with no clue where to start... yes i would outsource 100% no second thoughts... but for my particular situation i feel like i can achieve the fastlane as a coder, as long as i take fastlane action.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
And almost three years later, the debate continues
That's because the answer is different for different people. If you already have a coding background, the DIY approach makes sense. If you've never coded, not so much.
 

GIlman

Still Gilman
FASTLANE INSIDER
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
605%
Oct 16, 2014
801
4,843
Thanks for the replies. I think what I am looking for though are resources to teach me about the basics of programming, not how to program per se. What are the different web programming languages and programs and what are they used for? HTML, mySQL, Javascript, etc.

Not sure entirely what you are asking, but here is my take on answering what I think you are asking.

Basically there are two concerns when developing a website/app. First is the server part of things and the other is the client (i.e. typically web browser) side of things. If you start here you can basically break technologies down in how they are typically used, this doesn't cover every technology, but is a general covers most things. So for starters you have.

Used by the web browser
  • HTML
  • CSS
  • JavaScript
Then on the Server you have
  • SQL Database (MySQL, MSSQL, pretty much anything ending in SQL or sequel or DB)
  • Apache
  • PHP, Python, Ruby (and Ruby on Rails), .NET
Lets start with the client side, i.e. usually the browser.

Probably the most logical thing to start with is HTML. In a nut shell HTML is just text. Nothing more than just a bunch of plain text like you can generate in NotePad on windows (actually HTML, CSS, and Javascript are just plain text).

HTML text includes actual text (i.e. words you see) and formatting information, known as tags...basically a tag starts with < and ends with > such as <B> for bold. The formatting part of HTML tells the browser where to put what and how to make it look.

So HTML can tell the browser how big to display the text, or where you should start a new paragraph, or to make text, blue, bold, underlined, italics, etc, etc...you can also tell the browser to show a table, or tell the browser to load a picture (but the picture itself is not HTML, the HTML just tells the browser to fetch the picture and how big and where to display it. It can also set background colors or pictures for tables or the whole web page. You can create links in html that tells the browser what to do if that link is clicked. HTML allows you to layout how you want form to look and what fields you want the forms to have.

You can literally tell the web browser how to draw nearly anyway page you want using just plain simple, pure HTML.

However, HTML is DUMB, like dumb as a rock. The output of HTML is about as exciting as a printed page. The HTML just draws the information on the browser screen, but after that (besides basically links you can click on to take you to other pages) is completely non-interactive. What is interactive you ask? Think things like clicking a Tab within the webpage and having a different set of data appear, or a pop-up calendar (or popup anything), or drop down menus. Basically almost anything that "changes" how the page is after it loads is interactivity.

CSS to the rescue
(well part of the rescue see JavaScript below)

CSS is something half-way in between HTML and JavaScript. CSS allows you to tell the web browser how to style some piece of the HTML code. So say you have a block of text, or a table, or a picture, or whatever that the HTML puts on the page. Well, CSS can do a lot of what HTML could do, such as set the color, or the size, or make text, bold, or underline, or pretty much create any appearance of the web page that you want. CSS can also position WHERE things appear on the page.

But, and here is the big BUT....CSS needs HTML, because CSS styles HTML. Without HTML there would be nothing to style. Think of it like HTML is a person and CSS is the clothes, you can change the clothes all you want and generate any appearance that you want but you still need the person to dress.

CSS, however is different from HTML in that you can can create a style once, name it, then re-use it through out the site. Say we create a style called Bold_blue, and we define this style as Text 40 pixels tall, the color blue, bold, and say underline. Well we can then have bold blue text throughout our HTML by just telling the HTML to use our "bold_blue" style. In HTML you could achieve the exact same effect, but you would have to tell each block of text you wanted bold and blue to do "Text 40 pixels tall, the color blue, bold, and say underline".

This is not a problem, other than to change the style later we have to go and change the HTML every since what bold and blue is is hard coded into the HTML. With CSS, all we do is change our definition of what "bold_blue" is and literally every place through out our entire website will reflect the change without changing the HTML one bit. Also, sometimes we actually change the what style we want to use while the person is interacting with the web page to give interactivity.

For instance, you could tell the browser that when someone was hovering their mouse over some element, to change the style to something else. As example, say I wanted our "bold_blue" text to become HUGE say 300 px tall, pink, no longer bold, and no underline. Well, I can do this with CSS while the person is viewing the page, by telling the browser that the style to use when someone hovers over the text will be "Huge_pink" that we define as "300 px tall, pink, no longer bold, and no underline".

Importantly CSS can also change position and also whether to show or hide something on the page. This is HUGE. because if you want a menu, or anything else dynamic, you can do this mostly just with CSS by telling it if you click on something to show something.

Thus the interactivity (i.e. changing things) after the browser loads the page. Now, CSS is very flexible and able, but a little bit complicated and the different browsers don't all do things quite exactly the same way. Over the years there have been all sorts of hacks people have come up with CSS so that you can create a relatively consistent look for most browsers. Unfortunately, it takes a huge amount of work and testing to make sure your CSS works on all the different browsers.

Lets, take a little diversion and talk about CSS frameworks....there are a ton of these, but the ones you've probably heard of are BootStrap and Zurb Foundation. What is a framework, and why do we need it? Glad you asked.

Remember those CSS hacks I told you about. Well, as it turns out, someone else has put together a bunch of these hacks into a collection of stuff, and then if we want to use their stuff all we have to do is assign the style these other people have already made and tested to our own site. Pretty nifty, huh. There are tons and tons of stuff we can use and it saves you HUGE time and also dramatically reduces your frustration trying to get your CSS to work across multiple browsers. Check it out some of the cool bootstrap stuff here .... http://getbootstrap.com/components/

Continuing on...

JavaScript

Ok, now where does javascript fit in. Javascript is a programming language, where as both HTML and CSS are just formatting and display descriptions. Here is the thing. To have a webpage, you must have HTML...You may use CSS and you may use javascript...but the best pages use all 3 to complement each other.

Well, javascript is the real brains behind anything that happens on the browser. It is the logic part. There is a fair amount of overlap with what javascript can do that CSS can also do, but you can mix and match the two however you want. In the end though, javascript has the ability to think and change things on the page, it can actually add HTML code to the page that is already loaded, so say you have a list of items, javascript can actually add to the list while it is already displayed on the screen. Javascript can take something the user has provided and can make updates to data sitting on the server or ask the server for additional information.

Basically with javascript the sky is the limit for what you can program pretty much. So, you may ask...why not just use javascript for the entire page. That's a valid question..and the answer is that javascript can't directly tell the browser how to draw the page. But it can make HTML and give that HTML to the browser to display, so using HTML and CSS it actually can display anything you want.

The others...well there is more to the story than this, flash and macromedia and some others...but the majority of what you want to do on or in the browser uses the three technologies I have described.

Oh, one last tidbit, how does the browser get the HTML, CSS, and Javascript...Well, the browser asks the server for an HTML file for the specific page you are visiting. The HTML file then contains links that tells the browser what CSS and Javascript files that that HTML page wants, and the server downloads those as well.

Well, my fingers are a bit tired, so I'm going to take a break, but I'll be back to describe the server side of things.

Also, I'm going to edit this page some, but it's a lot easier to proof read once I post it...thanks :)
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
Current webdev is already significantly different from what you describe. Most of the time you will start with a framework (Wordpress, Django, etc) rather than bare code/html. Single-page sites are a big deal, where instead of the server creating a new page for each request the browser essentially downloads a html5/javascript app and the app does everything on the client side, using a REST interface to send/receive data from the web server. With tools like phonegap and cordova (and others) you can then run that same client-side app on both PC browsers and on mobiles as an app, sort of like the way AIR lets you convert flash programs into standalone mobile apps. Often the server, rather than a traditional web server like Apache or nginx, is node which is all javascript. There's also a movement to ditch SQL in favor of "no sql" style databases, which are more simple key-value stores with only basic data structures, but much greater scalability than SQL server clustering.
 

GIlman

Still Gilman
FASTLANE INSIDER
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
605%
Oct 16, 2014
801
4,843
Current webdev is already significantly different from what you describe. Most of the time you will start with a framework (Wordpress, Django, etc) rather than bare code/html. Single-page sites are a big deal, where instead of the server creating a new page for each request the browser essentially downloads a html5/javascript app and the app does everything on the client side, using a REST interface to send/receive data from the web server. With tools like phonegap and cordova (and others) you can then run that same client-side app on both PC browsers and on mobiles as an app, sort of like the way AIR lets you convert flash programs into standalone mobile apps. Often the server, rather than a traditional web server like Apache or nginx, is node which is all javascript. There's also a movement to ditch SQL in favor of "no sql" style databases, which are more simple key-value stores with only basic data structures, but much greater scalability than SQL server clustering.

Yes, there are frameworks and other stacks..but that wasn't the question I was answering. And these frameworks and other products still use HTML, CSS, and Javascript, i.e. they generate HTML and CSS and tie to Javascript for you. Plus Django is a python framework, how does a server side tech replace anything I've described.

Also what you are describing is more like using a word processer instead of creating the word processor from scratch. I would not call using wordpress as web dev.

Now, most programmers do use shortcuts such as CSS frameworks, templating engines, etc...but there what if you want to develop something completely from scratch...Say you wanted to develop Facebook or some other web portal. To do this you can't simply spin something from wordpress.

For me, I use Phalcon on top of PHP + MySQL. Then Volt as my tempting engine with bootstrap as my underlying CSS framework..

Bun in the end with Phalcon, I am still programming in PHP, just using some MVC shortcuts...and VOLT is just a tempting engine for HTML, but I still write HTML everyday as part of my templates..

Don't really understand how what you are saying makes HTML, CSS, and Javascript irrelevant.

Also, obviously you are a smart well informed person with programming, but I was just trying to create a primer for people unfamiliar with the complexities of things like memcache, which are only relevant to people that are actually planning to write code.
 
Last edited:

mt_myke

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
105%
Mar 25, 2014
245
258
53
Montana
I think it's great you're doing this. I've considered something like it myself. The problem is this tech changes very rapidly, and the "need to know" for someone who will be hiring others to make a site is very different from what an aspiring developer needs.

Also what you are describing is more like using a word processer instead of creating the word processor from scratch. I would not call using wordpress as web dev.

I'm no fan of wordpress. Having said that, it's pretty much ubiquitous these days. Not just for landing pages, many major sites start with wordpress and then customize as needed. My "day job" company went this route (for better or worse) and although this was mostly just a "brochure" style site it was still a significant project involving a dozen people and costing in the low six figures. You may not like wordpress (I really don't) but you can't ignore it. I prefer to do sites from scratch, starting with just Bootstrap and straight PHP/MySQL, but that's definitely a minority position in 2015.

Now, most programmers do use shortcuts such as CSS frameworks, templating engines, etc...but there what if you want to develop something completely from scratch...Say you wanted to develop Facebook or some other web portal. To do this you can't simply spin something from wordpress.

Sure, but is that who you're writing this article for?

Bun in the end with Phalcon, I am still programming in PHP, just using some MVC shortcuts...and VOLT is just a tempting engine for HTML, but I still write HTML everyday as part of my templates...

Wordpress is the same...once you need to do anything significant that isn't exactly what an existing plugin/theme does, you have to write it yourself with HTML and CSS and PHP.

Also, obviously you are a smart well informed person with programming, but I was just trying to create a primer for people unfamiliar with the complexities of things like memcache, which are only relevant to people that are actually planning to write code.


But above you gave the example of someone building Facebook from scratch as a reason to skip talking about wordpress. Is your audience someone wanting to go into hardcore development, or someone who just wants an overview?
 

MJ DeMarco

I followed the science; all I found was money.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Rat-Race Escape!
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
446%
Jul 23, 2007
38,156
170,220
Utah
And almost three years later, the debate continues

And thankfully it continues on in this thread, not in another 12 new threads asking an iteration of the same question. Me likes consolidation.
 

GIlman

Still Gilman
FASTLANE INSIDER
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
605%
Oct 16, 2014
801
4,843
@mt_myke I fully agree with everything you say. But if you read the question I was responding to they we're asking for a primer on basic technologies and how they fit together. The specifically mention HtML, CSS, etc.

If they had asked how most companies build a web presence in today's world then I would have brought up WordPress ext.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Ninjakid

Platinum Contributor
Speedway Pass
User Power
Value/Post Ratio
217%
Jun 23, 2014
1,936
4,206
Buddy Guy Eh
Not sure entirely what you are asking, but here is my take on answering what I think you are asking.

Basically there are two concerns when developing a website/app. First is the server part of things and the other is the client (i.e. typically web browser) side of things. If you start here you can basically break technologies down in how they are typically used, this doesn't cover every technology, but is a general covers most things. So for starters you have.

Used by the web browser
  • HTML
  • CSS
  • JavaScript
Then on the Server you have
  • SQL Database (MySQL, MSSQL, pretty much anything ending in SQL or sequel or DB)
  • Apache
  • PHP, Python, Ruby (and Ruby on Rails), .NET
Lets start with the client side, i.e. usually the browser.

Probably the most logical thing to start with is HTML. In a nut shell HTML is just text. Nothing more than just a bunch of plain text like you can generate in NotePad on windows (actually HTML, CSS, and Javascript are just plain text).

HTML text includes actual text (i.e. words you see) and formatting information, known as tags...basically a tag starts with < and ends with > such as <B> for bold. The formatting part of HTML tells the browser where to put what and how to make it look.

So HTML can tell the browser how big to display the text, or where you should start a new paragraph, or to make text, blue, bold, underlined, italics, etc, etc...you can also tell the browser to show a table, or tell the browser to load a picture (but the picture itself is not HTML, the HTML just tells the browser to fetch the picture and how big and where to display it. It can also set background colors or pictures for tables or the whole web page. You can create links in html that tells the browser what to do if that link is clicked. HTML allows you to layout how you want form to look and what fields you want the forms to have.

You can literally tell the web browser how to draw nearly anyway page you want using just plain simple, pure HTML.

However, HTML is DUMB, like dumb as a rock. The output of HTML is about as exciting as a printed page. The HTML just draws the information on the browser screen, but after that (besides basically links you can click on to take you to other pages) is completely non-interactive. What is interactive you ask? Think things like clicking a Tab within the webpage and having a different set of data appear, or a pop-up calendar (or popup anything), or drop down menus. Basically almost anything that "changes" how the page is after it loads is interactivity.

CSS to the rescue
(well part of the rescue see JavaScript below)

CSS is something half-way in between HTML and JavaScript. CSS allows you to tell the web browser how to style some piece of the HTML code. So say you have a block of text, or a table, or a picture, or whatever that the HTML puts on the page. Well, CSS can do a lot of what HTML could do, such as set the color, or the size, or make text, bold, or underline, or pretty much create any appearance of the web page that you want. CSS can also position WHERE things appear on the page.

But, and here is the big BUT....CSS needs HTML, because CSS styles HTML. Without HTML there would be nothing to style. Think of it like HTML is a person and CSS is the clothes, you can change the clothes all you want and generate any appearance that you want but you still need the person to dress.

CSS, however is different from HTML in that you can can create a style once, name it, then re-use it through out the site. Say we create a style called Bold_blue, and we define this style as Text 40 pixels tall, the color blue, bold, and say underline. Well we can then have bold blue text throughout our HTML by just telling the HTML to use our "bold_blue" style. In HTML you could achieve the exact same effect, but you would have to tell each block of text you wanted bold and blue to do "Text 40 pixels tall, the color blue, bold, and say underline".

This is not a problem, other than to change the style later we have to go and change the HTML every since what bold and blue is is hard coded into the HTML. With CSS, all we do is change our definition of what "bold_blue" is and literally every place through out our entire website will reflect the change without changing the HTML one bit. Also, sometimes we actually change the what style we want to use while the person is interacting with the web page to give interactivity.

For instance, you could tell the browser that when someone was hovering their mouse over some element, to change the style to something else. As example, say I wanted our "bold_blue" text to become HUGE say 300 px tall, pink, no longer bold, and no underline. Well, I can do this with CSS while the person is viewing the page, by telling the browser that the style to use when someone hovers over the text will be "Huge_pink" that we define as "300 px tall, pink, no longer bold, and no underline".

Importantly CSS can also change position and also whether to show or hide something on the page. This is HUGE. because if you want a menu, or anything else dynamic, you can do this mostly just with CSS by telling it if you click on something to show something.

Thus the interactivity (i.e. changing things) after the browser loads the page. Now, CSS is very flexible and able, but a little bit complicated and the different browsers don't all do things quite exactly the same way. Over the years there have been all sorts of hacks people have come up with CSS so that you can create a relatively consistent look for most browsers. Unfortunately, it takes a huge amount of work and testing to make sure your CSS works on all the different browsers.

Lets, take a little diversion and talk about CSS frameworks....there are a ton of these, but the ones you've probably heard of are BootStrap and Zurb Foundation. What is a framework, and why do we need it? Glad you asked.

Remember those CSS hacks I told you about. Well, as it turns out, someone else has put together a bunch of these hacks into a collection of stuff, and then if we want to use their stuff all we have to do is assign the style these other people have already made and tested to our own site. Pretty nifty, huh. There are tons and tons of stuff we can use and it saves you HUGE time and also dramatically reduces your frustration trying to get your CSS to work across multiple browsers. Check it out some of the cool bootstrap stuff here .... http://getbootstrap.com/components/

Continuing on...

JavaScript

Ok, now where does javascript fit in. Javascript is a programming language, where as both HTML and CSS are just formatting and display descriptions. Here is the thing. To have a webpage, you must have HTML...You may use CSS and you may use javascript...but the best pages use all 3 to complement each other.

Well, javascript is the real brains behind anything that happens on the browser. It is the logic part. There is a fair amount of overlap with what javascript can do that CSS can also do, but you can mix and match the two however you want. In the end though, javascript has the ability to think and change things on the page, it can actually add HTML code to the page that is already loaded, so say you have a list of items, javascript can actually add to the list while it is already displayed on the screen. Javascript can take something the user has provided and can make updates to data sitting on the server or ask the server for additional information.

Basically with javascript the sky is the limit for what you can program pretty much. So, you may ask...why not just use javascript for the entire page. That's a valid question..and the answer is that javascript can't directly tell the browser how to draw the page. But it can make HTML and give that HTML to the browser to display, so using HTML and CSS it actually can display anything you want.

The others...well there is more to the story than this, flash and macromedia and some others...but the majority of what you want to do on or in the browser uses the three technologies I have described.

Oh, one last tidbit, how does the browser get the HTML, CSS, and Javascript...Well, the browser asks the server for an HTML file for the specific page you are visiting. The HTML file then contains links that tells the browser what CSS and Javascript files that that HTML page wants, and the server downloads those as well.

Well, my fingers are a bit tired, so I'm going to take a break, but I'll be back to describe the server side of things.

Also, I'm going to edit this page some, but it's a lot easier to proof read once I post it...thanks :)
I gotta say, this is a vivid description. Someone who was new to web development could take a lot from this. I can tell you're a guy who knows what he's talking about.
 

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top