Welcome to City-Data.com Forum!
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-04-2014, 10:56 AM
 
Location: NY/LA
4,663 posts, read 4,548,803 times
Reputation: 4140

Advertisements

If you're just teaching the basics, C can be pretty confusing. Debugging in C can also be extremely frustrating.

Java would be my second choice after Python. When I was in grad school I TA'd an intro to programming course where we started with Python to teach the basics, and then moved on to Java when the assignments became more complicated. I thought it worked well.
Reply With Quote Quick reply to this message

 
Old 02-04-2014, 11:02 AM
 
Location: San Diego
50,290 posts, read 47,032,885 times
Reputation: 34067
SQL

the front ends change all the time but not the back end. A lot can be said for VBA in office too. You can do a lot with vba/Excel and a data connection to a sql box.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 11:19 AM
 
390 posts, read 824,583 times
Reputation: 670
I am a software developer who works primarily in PHP. PHP is not a language in decline - in fact, it has gotten some major revisions lately that help it function more like a true Object Oriented language like Java. The LAMP platform (Linux/Apache/MySQL/PHP) is on the rise, which means PHP will continue to be popular for a long time.

That said, PHP is an absolutely terrible language to learn first. It is not naturally structured at all, so someone with no solid understanding of Computer Science fundamentals will likely adopt bad and sloppy coding practices, which could effect the rest of their coding career.

This is why the absolute worst software developers are those who don't know any languages other than PHP, or maybe they started with PHP. PHP is one of my least favorite languages, but with some of the recent revisions to it, you can force it to behave similar to more elegant languages like Java. But even then, few other PHP developers are using the language properly, so you'll have to work with their terrible code if you're a PHP developer, which is an exercise in severe frustration and stress.

PHP developers also tend to make less than developers in other languages (maybe because companies using the LAMP platform typically don't have big budgets).

Java and C++ are good for starting. Many languages like Python are too high level, meaning the code does so much of the work that the student doesn't get a good understanding of what's going on under the hood.

C and assembly are necessary to really learn well at some point too, but as with PHP, learning them first will probably teach the student bad coding practices. Object Oriented programming is completely essential to writing and managing large applications, so C++ and Java are ideal. This is why most colleges/universities use C++ or Java in their core Computer Science classes.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 11:34 AM
jw2
 
2,028 posts, read 3,266,083 times
Reputation: 3387
I'll take a different tack and suggest SmallTalk. Not a terribly useful language for business but a good language to learn OO programming. The syntax is very simple and everything is an object so you are forced to think in terms of objects. After one semester (or quarter?) of that, learning a language such as C++ or Java (I could make cases for either) would be a good direction.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 03:08 PM
 
41,813 posts, read 51,045,587 times
Reputation: 17864
Quote:
Originally Posted by Sonorio View Post

What did I need that I couldn't get from a dozen places already?
Ever wish a piece of software did something that it didn't?

For one thing as far as PHP goes if you own web sites you are either stuck in a very narrow box with off the shelf stuff, pay through the nose to get even simple things done or learn how to do it yourself.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 03:41 PM
 
Location: Berkeley Neighborhood, Denver, CO USA
17,711 posts, read 29,817,888 times
Reputation: 33301
Default Agree

Quote:
Originally Posted by ohio_peasant View Post
Fortran. Seriously, Fortran.
Excellent points.
What students need to learn are:
1. how to make the computer do something
2. how to make it do what they want
3. basic concepts - loops, recursion, variable names vs variable values, etc.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 03:43 PM
 
Location: SoCal
6,420 posts, read 11,596,094 times
Reputation: 7103
Quote:
Originally Posted by Sonorio View Post
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?
They want something they can't get from anyplace. Or they want to make it better. Or they're curious and want to know how all this stuff works. Or it doesn't work, and they'd like to have a clue why. Or ... lotsa' reasons.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 04:34 PM
 
Location: Back and Forth FRANCE
2,713 posts, read 3,023,523 times
Reputation: 1483
I learned Visual Basic in High School. 7 years ago.

Today I would recommend Java.
I recommend looking into C# also it is pretty similar to Java in a few ways. It has all the support of microsoft and has by far the best IDE on the market.(in my opinion)
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 05:00 PM
 
Location: Old Bellevue, WA
18,782 posts, read 17,358,834 times
Reputation: 7990
I would say that it doesn't matter that much. As Hazergore1198 suggests, I would stay away from languages that are too high-level. You wouldn't want to learn to fly a plane by using autopilot.

I started w/ PL/1 back in the dark ages and went on to learn and use Fortran, Cobol, assembler, Pascal, Basic, C, Forth, Ada and others. Looking back, I don't think it would have made much difference what I started with. The basic concepts are the same, and it's much easier to learn a new programming language than to learn a new speaking/writing language.

Whatever programming language the instructor is most comfortable with would be the best choice.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 06:51 PM
 
878 posts, read 942,168 times
Reputation: 893
Quote:
Originally Posted by Thanatocoenosis View Post
Unix
Unix is an OS, not a programming language.
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

All times are GMT -6. The time now is 11:42 PM.

© 2005-2024, Advameg, Inc. · Please obey Forum Rules · Terms of Use and Privacy Policy · Bug Bounty

City-Data.com - Contact Us - 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, 36, 37 - Top