Jump to content

what's a good programming language to learn?


ecoli

Recommended Posts

As a Programming Assistance, I can tell you this,

 

use C, if you need to program an Algorithm, because C is the fastest !

 

use C++, if you are working under Windows, or C under Linux ...

 

use Java, if you don't care about "how fast", and on the other hand it gives you alot of benefits:

- automated memory management

- full Object-Oriented

- portability (same code works on all Operating Systems)

- support (has alot of standard libraries for many things such as Complex Cryptography)

- Thread-ability, Parallelism, Distribute-ability, Security, Safety, Fault-Tolerability ..etc

Link to comment
Share on other sites

1. C for programming mathematics, system programming under Linux, and when speed is needed

 

2. C++ when programming Data Structures, Object-Oriented, system programming under Windows

 

3. Objective-C when programming Object-Oriented & Data Structures with high performance, system programming under Mac

 

4. Java when programming Web applications, hybrid applications, Cross-Platform applications

 

 

Programming\Scripting languages that are good to know and work with are:

 

General: C \ Objective-C 2.0 \ C++ \ { C# OR VB.net } \ Java

 

Web: HTML AND CSS \ Java Script \ JSP \ PHP

 

Kernel: MS DOS \ Bash \ Mac Kernel

 

Database: SQL \ PL.SQL

 

Writing: Latex OR Word Processor

 

and I program with all languages, mentioned above ...

 

C++ with MFC is a good choice ! :(

 

i think MFC died at 2005, there is no MFC in Visual Studio 2008 & later versions ...

 

and, we are talking about programming languages, not using Moderated Codes and Libraries ...

Edited by khaled
Link to comment
Share on other sites

I think Perl or Algol is good for you.

 

Eventually, I want to be able to do some computationally-heavy modeling work, which obviously requires programming knowledge.

 

Is there a specific language that would be good for this type of interest. Where can a newb start learning about building the tools to develop skills to develop stochastic-type models?

 

Thanks!

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Learn three or four languages. For truly heavy computations and for serious scientific programming you really ought to learn C. It's also the de-facto gold standard of the computer industry. Chances are whatever computer you're on is running hundreds of thousands of lines of C code at this very instant. There's no shortage of freely-available learning material out there, and it's a skill you will never regret having acquired.

 

Unfortunately, your question is a little bit like: "which tool should I learn to use-a hammer or a drill?" The answer, of course, is both. I'd recommend you start with C and then broaden your field of view with something like this: http://pragprog.com/...-in-seven-weeks

 

Disclaimer: I'm a software development consultant by trade, specializing in systems integration and commercial websites and applications. I've been paid to write code in C, C++, C#, Visual Basic, Java, Ruby, PHP, Perl, Python, and Javascript.

Edited by Christian Romney
Link to comment
Share on other sites

  • 3 weeks later...

Every programming language has its unique features and used in the market by the peoples. Depends on your interest you can choose your programming language. I like dot net most. Same way choose your language and go ahead in this field. This field has more growth in future and your future will be secure in IT field.

Link to comment
Share on other sites

Is there anything wrong with BASIC as a first language to learn?

 

It allows you to do the four essential operations:

 

- create a variable ( 10 LET A=1)

 

- do something to the variable (20 LET A=A+1)

 

- compare the result with something (30 IF A>1 )

 

- do something as a result of the comparison (40 THEN PRINT "A has increased by 1")

 

These operations are set out very simply and clearly in BASIC.

 

So isn't it the best language to learn as an introduction to computer-programming.

 

I wonder, is computer-programming taught to children in schools nowadays? In my day, back in 1980's Britain, schools were encouraged to acquire the BBC microcomputer, which used a (fairly sophisticated) version of BASIC.

 

Do British (or US) schools these days still use BASIC, or don't they teach programming at all any more?

Edited by Dekan
Link to comment
Share on other sites

I'd like to clarify some point,

 

Python, Perl, Ruby are not Programming Language ...

 

They are Script Languages, they are interpreted, just like BASH .. in Software

Engineering, Script Languages have low consistency ...

 

So, I suggest learning C, C++, or Java

 

And if you are interested in System Programming, you can learn C (Unix/Linux), C++ (windows), or Objective-C (Mac)

Link to comment
Share on other sites

Dekan , BASIC is alive and well and some people are keeping it alive by making modern versions of interpreters . There are a lot of BASIC resources on the web , good and bad , I find that I have to look at quite a few to find a version that is useful and that works properly . I won't recommend a version because I think if you want a good version you must install many on your computer to find a few that suit you ( 20 / 1 ) .

Link to comment
Share on other sites

  • 4 weeks later...

 

Fortunately I've seen gradual movement away from Java. My university was very much a Java school in the past but has since moved on to become far more polyglot oriented. MIT is switching to Python for the introduction to programming classes.

 

 

I spent a whole part of a year studying the merits of individual languages before deciding on Python. It was mainly due to the openness of the language. I was able to explore how the standard library worked, and after a couple days I was shocked to realize that the developers of Python used nothing more than what you have in front of you to make exactly what is in front of you.

 

I believe it's this sort of thinking that will carry you further in the pursuit of understanding how a computer interprets higher-level instructions. The argument that C is a "low level" language has no bearing in the study of assembly, or better yet, hardware design and general logic.

 

This is my warning; do not start with computer programming to understand computer programming. First, take a class in relational database design. If you can't handle the "coding" in that area, look for another course of study. SQL demonstrates the key components that are universal to interacting with any aspect of a computer (troubleshooting, debugging, looking up commands, etc.). Plus, you'll start to learn another important concept: how to design a better system and therefore, save yourself work in the future. Computer programming, unfortunately, is akin to athletics in the 21st century. Most new students want to learn to play basketball to slam dunk (or hack some banking software), instead of learning the basics. Design an information system, and see the similarities between the languages, not the differences.

 

Again, learn the basics. Get into HTML. Make a webpage. If you can, pick up HTML5.

 

Finally, once you've read enough error messages to make yourself sick, pick up a brief exercise or two in PL/SQL, something so low level and ancient that it'll make you want to quit learning. And then remember...people use this stuff everyday. Cursors work extremely fast. They are also a humongous pain to manage. If you've survived, you'll understand why MIT is moving their students away from these types of languages. If you think cursors and explicit code blocks are verbose, wait until you get to manual data-type changes, managing pointers in the correct order (and in proper fashion), while also learning the core practices that are meant to make you a better programmer.

 

Hopefully, you'll begin to understand that, although slow to execute, Python stays out of your way. It lets you explore the computer, not make it happy. Someday, you'll find some sense of joy in preparing a computer for the instructions that you're about to type, because you know them well. Later, you'll feel the agony of modifying every last one of those lines when your boss wants to change something "little" in the functionality.

 

With the gains we're experiencing in hardware, half of what you'll do is just throwaway nonsense anyhow, preparing yourself to write that one, good thing that will work well and do exactly what you've told it to. Don't expect to get there without a lot of hard work.

 

That said, here are the survival tools of the computer programmer.

 

http://www.codinghor...he-revenge.html

*this is a blog posting about the book "Code Complete 2". Get it. It has a comparison of many common languages, and breaks you gently to the fact that you're going to need C++ or Java in the real world. At least.

 

http://stackoverflow.com/about

*visit here often. These people will not tolerate questions such as "which programming language is best?". Come with your language declared, and some code examples. Thank you.

 

http://catb.org/jargon/html/index.html

*start here if you are overwhelmed. This introduces you to the hacker community, and more importantly, what a hacker is and isn't. Very entertaining.

http://catb.org/jargon/jargoogle.html

*terms from the hacker dictionary. Most are educational, and also...most are hilarious. If you can't learn with humor, I suggest you stop learning computer science right away.

 

http://docs.python.o...rary/index.html

*use the quick search. If you don't know how to state your problems computer-progmatically, you don't have a problem yet. This will show you how to talk to one once you do figure it out.

 

http://docs.python.o...rial/index.html

*hopefully this will make sense to you eventually. This is for understanding some of the slicker aspects of the language. It helps to type out the examples at least 3 - 5 times.

 

http://curiousreef.c...0-introduction/

*MIT is the gold standard. They keep it open, and difficult. Go check out the required reading. I have!

 

http://ocw.mit.edu/c...08/assignments/

*When you get all of these done, you'll very likely be the best computer programmer around. But not on the web! You'll still know very little, so keep learning!

*All of this should take you about 3-5 years, working on it about 8 hours a week. When you're done, you'll learn new languages in about 1 - 2 working 20 hours a week (you'll have a job by then).

 

Good luck,

 

Andrew

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...

I go for '' C '' languages as a newbie you have to learn it because this will lead you to all other languages understanding. C is the basic core module for any new comer who like to know language to develop own application. But if you looking for online purpose then i will vote for PHP.

Link to comment
Share on other sites

As a computer science instructor, I recommend Java as your first object oriented language for learning. The reason most colleges and universities use Java as the language of choice for 'Intro to Programming' courses is because of it's simplicity. Once you grasp the basics of Java, then you can search for a better language for your modeling needs.

Link to comment
Share on other sites

  • 2 weeks later...

Okay I'm currently doing programming in Delphi7 and so far it's an easy language to learn and to understand basic concept is. I've noticed that there is always a C++ example in the help file. Is Delphi somehow based on C++ but only as more simplified version. I know it doesn't have all the funcions and capabillities but how well does it compare to other Standard languages.A proffessor at a workshop who is skilled in C++ , Delphi and Java didn't say anything about C++ but he says Java is outdated and way too complicated and that he preffers Delphi, can I please get youre comments on this since I'm still only doing basic OOP etc. and not yet more complicatd programming

Link to comment
Share on other sites

  • 3 weeks later...

I believe that the best language to start is Visual Basic and then C, C++, C#.

Although a nice programing language is SKD if you wanna make some programs for iPhone or iPad generaly all iOS devices it's good if you want to raise some extra money, mabe some Java or HTML.

I've started with VB and the I'm going to learn C, for VB starters and non-starters I recommend Alessandro Del Sole - Visual Basic 2010 UNLEASHED ISBN-10: 0-672-33100-4 ISBN-13: 978-0-672-33100-8 or Link: http://www.informit....isbn=0672331004 ;):D

Link to comment
Share on other sites

  • 1 month later...

Actually all of the programming language are the same, once you control one, you will control all of them.The difference between them is the syntax or features. The key for being a good programmer is how your mind is working. That is why , when you apply a job at google, they only test your ability for solving a problem.

Personally i think you can start it from java.

Link to comment
Share on other sites

We know there are many programming languages are using for developing applications. I would like to suggest C and C++. Its a basic and beginners programming language. Once you learn about this, I am sure you could understand the other languages. But understanding of "C" is like sea. C is a wast and wide programming language. You cant study once is a sitting or days, it will be took years of years......

Link to comment
Share on other sites

I would like to suggest PHP/ Mysql. PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. And also its a server-side HTML embedded scripting language. It provides web developers with a full suite of tools for building dynamic websites.

Edited by edwardreed
Link to comment
Share on other sites

Guest alanhuttan

C/C++ is the basis for pretty much all of the current languages. In addition to the widespread use of the language in many areas, the C/C++ libraries are also the basis for PHP, the main web language. These videos are the best that I've found for teaching C/C++.

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.