U.S. CitiesCity-Data Forum Index
Go Back   City-Data Forum > General Forums > Science and Technology
 [Register]
Please register to participate in our discussions with 2 million other members - it's free and quick! Some forums can only be seen by registered members. After you create your account, you'll be able to customize options and access all our 15,000 new posts/day with fewer ads.
View detailed profile (Advanced) or search
site with Google Custom Search

Search Forums  (Advanced)
Reply Start New Thread
 
Old 02-03-2014, 07:23 PM
 
810 posts, read 1,176,681 times
Reputation: 955

Advertisements

I'm not sure that a website language is a computer language, or vice versa.

If a student wants to open a website shop, there is one set of languages that he needs to know.

If he wants to be a computer scientist and work on the big stuff, there are probably others.
Reply With Quote Quick reply to this message

 
Old 02-03-2014, 07:25 PM
 
Location: Seattle
334 posts, read 358,890 times
Reputation: 320
A lot of schools today are starting with Python, C# or Java. You don't have to dive into the object-oriented principles right away in order to teach the fundamentals. You can teach them about loops, conditional statements, etc without ever having to create objects.

The advantage of Java is that it's free and universal across platforms. It's also heavily used in Android development. My vote is to start with Java.
Reply With Quote Quick reply to this message
 
Old 02-03-2014, 07:36 PM
 
Location: Oakton, VA USA
138 posts, read 95,879 times
Reputation: 391
Currently I work in air traffic control R&D and spend much time programming. I'd say you should be teaching Python and Pig Latin.

I've programmed Fortran, Basic, PL/I, C, Awk, Perl, Python, and now Pig Latin. There are the markup languages, but they're fairly lightweight. Python lets you develop quickly, an important factor in an engineering environment. (Engineers cost money.) Additionally, there are LOTS of current resources available in the Python community.

Python allows you to program either functionally or in an object oriented manner. It works very nicely for algorithmic development, and has excellent debugging resources. If a program fails, for instance, Python will tell you the line on which the code failed, an excellent starting point for finding the cause of the failure.

Pig Latin sounds funny. Sure! It's a riot. Google "Apache Pig Latin" and "Hadoop". Pig Latin handles Hadoop clusters, used by big and fast data crunchers such as Google and Facebook. We have a small Hadoop cluster at work with probably 100 processor cores. On a simple request, I can get a 10GB data stream (with about 100 million lines of data) piped directly into my Python code, and none of it ever misses a beat.

Many of the Pig structures mirror Python structures (tuples, for instance), so starting in Python and extending to Pig Latin is natural. Additionally, you can play with Pig on a single local machine; if you don't have an actual Hadoop cluster, who cares? It will still do the "map/reduce" processing you want it to do.

Just my quarter byte...
Reply With Quote Quick reply to this message
 
Old 02-03-2014, 08:29 PM
 
37,072 posts, read 38,297,253 times
Reputation: 14835
Quote:
Originally Posted by Sonorio View Post
I'm not sure that a website language is a computer language, or vice versa.
HTML is not a programming language, it's for marking up a document. It doesn't do anything but tell the browser what it is:

Quote:
<p>This is a paragraph</p>
PHP is server side programming language.

Quote:
<?php $var = "paragraph"; ?>

<p>This is a <?php echo $var; ?></p>
Both would output the same exact thing to the browser, anything between the PHP tags is not output and executed instead.
Reply With Quote Quick reply to this message
 
Old 02-03-2014, 11:39 PM
 
Location: Milwaukee Ex-ex-ex-urbs
358 posts, read 396,876 times
Reputation: 721
Seriously I'd be happy if they just learn proper English.

Programming in high school? Excel and Word are more important and useful. Programming changes too fast to focus on any one language.

Functionality over esoteric.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 12:01 AM
 
Location: NY/LA
3,082 posts, read 2,552,577 times
Reputation: 2382
I'd vote for Python as well. It's easy to pick up and I think that the ability to run the interpreter in interactive mode could be useful for 'just playing around'.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 08:33 AM
 
Location: SoCal
5,920 posts, read 9,058,547 times
Reputation: 5416
Quote:
Originally Posted by mbradleyc View Post
... Programming changes too fast to focus on any one language.

....
Two words for you. Kernihan and Ritchie.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 09:31 AM
 
Location: The Carolinas
1,987 posts, read 1,904,201 times
Reputation: 6010
I will reiterate: Java. You can start out FREE and run it on any desktop. FREE.

Nothing server-side to start out with. Then, you can teach Java/JSP on the server-side MUCH later.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 10:12 AM
 
Location: MA
675 posts, read 1,186,204 times
Reputation: 890
The C/C++ suggestions are good ones. Java can be confusing for someone with zero exposure to programming languages and concepts - it was the language used in a CS 101 course I took years ago and I watched classmates struggle. Knowing C makes learning Java and other languages much easier later.

Here's another thought: why not UNIX shell scripting? The syntax is pretty easy so the students can concentrate on learning the necessary programming concepts they need to know like conditionals, loops, recursion, etc. And once you have a linux server set up it's all free. I would argue that learning the *NIX environment is just as important to any future programmer as any one language might be.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 10:42 AM
 
810 posts, read 1,176,681 times
Reputation: 955
If anyone wanted to teach me programming, the way for him to start would be to answer the question: Why?

I had a TRS-80, I had an Atari 800, I took a course or two, but I never understood why I would have to screw around coding. What did I need that I couldn't get from a dozen places already?

Why do people learn to code? What does it get them?
Reply With Quote Quick reply to this message
Please register to post and access all features of our very popular forum. It is free and quick. Over $68,000 in prizes has already been given out to active posters on our forum. Additional giveaways are planned.

Detailed information about all U.S. cities, counties, and zip codes on our site: City-data.com.


Reply
Please update this thread with any new information or opinions. This open thread is still read by thousands of people, so we encourage all additional points of view.

Quick Reply
Message:

Over $104,000 in prizes was already given out to active posters on our forum and additional giveaways are planned!

Go Back   City-Data Forum > General Forums > Science and Technology
Similar Threads
Follow City-Data.com founder on our Forum or

All times are GMT -6.

2005-2018, Advameg, Inc.

City-Data.com - Archive 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 - Top