Welcome Guest.   Make a donation to an author on the site November 24, 2014, 07:42:57 PM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
Free DonationCoder.com Member Kit: Submit Request.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1] 2 Next   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Which language should I learn first?  (Read 25062 times)
app103
That scary taskbar girl
Global Moderator
*****
Posts: 5,327



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« on: May 25, 2006, 04:36:27 AM »

This is a common question that can be difficult to answer for a beginner that has never written a line of code and knows nothing about the languages available.

A friend of mine addressed this recently. His forum post might help you answer that tough question and give you some idea of the direction you are headed:

http://devzone.2.forumer....om/index.php?showtopic=25

Logged

jgpaiva
Global Moderator
*****
Posts: 4,711



Artificial Idiocy

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #1 on: May 25, 2006, 10:07:10 AM »

Well... My first language was scheme. So, i only have one advise in that field: DON'T GO THERE! Wink
I think java makes much sense, and it's syntax is very easy.
But i guess the most used, and most known language would be C.
I think this goes a bit with the person (i know you are for delphi, right? Wink )
In terms of usefulness, i think the most useful would be C, since it's more spread, and used in more apps, extensions, plugins, etc. But the one syntax i like the most is surelly java cheesy
Logged

Tekzel
Charter Member
***
Posts: 227



View Profile Give some DonationCredits to this forum member
« Reply #2 on: May 25, 2006, 10:20:25 AM »

Well... My first language was scheme. So, i only have one advise in that field: DON'T GO THERE! Wink
I think java makes much sense, and it's syntax is very easy.
But i guess the most used, and most known language would be C.
I think this goes a bit with the person (i know you are for delphi, right? Wink )
In terms of usefulness, i think the most useful would be C, since it's more spread, and used in more apps, extensions, plugins, etc. But the one syntax i like the most is surelly java cheesy

Well, since I have been messing with it for a few weeks now, I will throw in C# as a very viable alternative as a starter language.  Plus, it will be a great stepping stone to a language like C++ later if you want to do that, since the syntax and flow is a lot like C++ (like a mix between C++ and java i think).  Plus, since MS made their Visual Studio Express 2005 suite free forever, its super easy to get started with, MSDN Express is very very cool and has lots of tutorials.  Very good resource for beginners.
Logged
app103
That scary taskbar girl
Global Moderator
*****
Posts: 5,327



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #3 on: May 25, 2006, 10:27:10 AM »

Well Renko's post is right on the money when he says the language you should learn is based on what it is you want to do.

I can't see telling someone to go learn C# (or even Delphi) if what will help them accomplish their goals would be better done with Java or Flash.

And I can't see telling someone to go learn any .net language if their ultimate goal is to write their own OS. It would be going in the wrong direction.
Logged

f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #4 on: May 25, 2006, 10:27:44 AM »

"C with C++ features" might be a good start... C by itself can be too low-level and give so many shoot-yourself-in-the-foot problems that you'll give up, while full-blown C++ is too complex. But procedural (rather than oop) C code, but using iostreams and STL instead of printf and raw memory allocation could be a good idea.

Dunno really, though. One of my brothers (15 years old) is currently tossing around with javascript+html, he likes "making stuff that moves on screen". His English isn't terribly good, so I can't just throw a couple of books or URLs at him, and because of all the overhead of setting up graphics etc., I haven't really found anything more suitable for him, *sigh*.
Logged

- carpe noctem
app103
That scary taskbar girl
Global Moderator
*****
Posts: 5,327



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #5 on: May 25, 2006, 10:33:51 AM »

What language would he need ebooks in? I have come across some non-english ones...and I can keep my eyes open for what you need as I go on my 'click adventures'.

I found 2 free ebooks recently on php and javascript... in German!
Logged

f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #6 on: May 25, 2006, 10:39:09 AM »

Danish smiley
Logged

- carpe noctem
mouser
First Author
Administrator
*****
Posts: 33,693



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #7 on: May 25, 2006, 10:39:29 AM »

this is one of those questions that all new programmers ask and is so difficult to answer.

here is my thinking on it:
1) the hardest problem any new programmer has is staying motivated and not giving up.  so my #1 advice is always - find something that speaks to you and inspires you to learn and motivates you.
2) from #1 principle i often suggest - go to bookstore and find a book you fall in love with - and learn that language.
3) an important thing is to figure out *what* they want to do.  a language like c++ (which many of us old timers learned on), can be a really painful first language, not just because of the pointer complications, but because it has no simple user interface stuff.  if they want to get started right away building real programs with graphical user interfaces, it's better to start with a program that has built in support for dialogs and buttons and stuff, like c# or java.
4) another key question is, do they want to learn core programming concepts such as object oriented program, in preparation for a long serious journey into becoming an expert programmer? or do they want to just quickly learn what they need to make some quick and dirty windows applications? or do they want to do very fast scripting of automated jobs.
5) If they want to make a career of programming i strongly advise a language that has object oriented programming (oop) principles emphasized.  something like java or c# would be good for that.  if they want to jump right in and make windows gui programs as fast as possible then maybe something like Delphi would be the most fun for them.  If they want to do web development then php maybe.  if they want to have fun with quick scripting then python, or ruby maybe.

but i'll come back to my first point every time - go to a bookstore and find a book that inspires you.
Logged
jgpaiva
Global Moderator
*****
Posts: 4,711



Artificial Idiocy

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #8 on: May 25, 2006, 10:49:22 AM »

I want to express my support for mouser's opinion. Definatelly the book is very important.
That's why i hereby suggest: Bruce Eckel's "Thinking in Java", the most interesting programming book i've ever read!
Logged

app103
That scary taskbar girl
Global Moderator
*****
Posts: 5,327



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #9 on: May 25, 2006, 11:07:25 AM »

Danish smiley


I'll keep my eyes open for anything and let you know if I find something.
Logged

Rover
Master of Smilies
Charter Member
***
Posts: 628



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #10 on: May 25, 2006, 04:59:18 PM »

along with the mouser put it, you need to figure out what you want to do.

Part of the problem with learning a language today is that you not only have to learn the basics of the language, you also need to understand Windows AND/OR the Internet AND/OR Web Servers.

This is where the motiviation of having a really good project comes into play.  There is so much stuff to learn, it's easy to get discouraged by the apparent lack of progress. 

Assuming our student knows enough about the environment, I'd say the article mentioned in the first post is a good way to figure out which language to start with.  If you want to make a CMS, c++ is not the best to start with.  If you're going to write a nice device driver for that new PCI Card, .net is probably not a good choice smiley

so many decisions... we need a nice case statement.   tongue   Grin
Logged

Insert Brilliant Sig line here
mitzevo
Supporting Member
**
Posts: 460



Control is power

see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #11 on: June 19, 2007, 12:28:20 AM »

Which language should you learn first? Depends on what you want to do.. Do you want to make web apps? Do you want to make desktop apps? Do you want to make babies? err, disregard that last sentence. Do you want to make apps that communicate with extratierristrial life forms from outer earth? Uhm, yeah.. Web apps you could start with PHP (and xHTML, CSS, JavaScript, and all that jazz), system/desktop apps you could start with C/C++, .NET, VisualBasic, Delphi, etc.

It doesn't matter what you start with, just start already.  Grin
Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present.
pro3carp3
Supporting Member
**
Posts: 15


View Profile Give some DonationCredits to this forum member
« Reply #12 on: June 19, 2007, 07:39:52 AM »

A bit off topic and on and old thread, but I would suggest that all serious programmers eventually learn assembly programming.  Understanding what is going on "under the hood" will help you develop better algorithms and optimize higher-level code.
Logged

LGC
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #13 on: June 19, 2007, 09:15:08 AM »

Assembly isn't worth learning if you just want to do pretty GUIs for a database backend... but if you want to know what's really going on, and might end up doing speed-critical code, by all means pick up machine architecture. Just don't do it too early - nor too late smiley
Logged

- carpe noctem
mitzevo
Supporting Member
**
Posts: 460



Control is power

see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #14 on: June 19, 2007, 11:22:58 PM »

A bit off topic and on and old thread, but I would suggest that all serious programmers eventually learn assembly programming.  Understanding what is going on "under the hood" will help you develop better algorithms and optimize higher-level code.

yes you are right, you're completely off topic. and you're right, serious programmers do/should have assembly knowledge.
Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present.
Conquer
Honorary Member
**
Posts: 50



View Profile Give some DonationCredits to this forum member
« Reply #15 on: July 20, 2007, 07:13:47 PM »

Well, AutoHotkey is very easy to learn (Or at least it was for me). Plus I like the command names and directs, they're easy to remember smiley
Logged
thunder7
Supporting Member
**
Posts: 169



Thunder7

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #16 on: July 06, 2008, 07:51:34 AM »

Which languages C++ & Delphi Ok I am dirt poor! How much $$$???
Logged

f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #17 on: July 06, 2008, 08:08:18 AM »

Which languages C++ & Delphi Ok I am dirt poor! How much $$$???
Microsoft Visual Studio Express - free, and pretty feature complete.
Logged

- carpe noctem
tamasd
Supporting Member
**
Posts: 64

View Profile Give some DonationCredits to this forum member
« Reply #18 on: July 07, 2008, 07:50:10 AM »

Besides Visual Studio Express from Microsoft,
Turbo Delphi, Turbo C++ and Turbo Delphi .NET Explorer from Borland are also available for free.
Logged
thunder7
Supporting Member
**
Posts: 169



Thunder7

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #19 on: July 14, 2008, 04:27:44 AM »

Bookmarked Visual Studio Express.
Thank you! :-)

Trust me when I say I want to learn, and I have the interest to learn!.
I would love to learn.
I have way to much free time,...  (very bad back I must take heavy duty narcotics to 'try' to control the pain. Thus sleep is something i do not get a lot of!. )

I have a lot of bookmarks and would love to re design or design a bookmarking program to suit my own needs. Because I have one of those lovely OCD's (OBSESSIVE COMPULSIVE DISORDER) I collect bookmarks i find of Interest and think will be of interest to others.

I am very good at it!.

I can write a over view of what I want a (need) program to do, what results i expect.
I can even draw you a very pretty picture of what i want it to look like.

However as long as I have been surfing the net.
I can barely do HTML.
Ok I suck there fore I am lol tongue Grin


After that,.. I am lost.

A very good friend of mine CoMa  of CoMa Freeware List http://www.algonet.se/%7E...ub/freeware/freeware.html

Has tried many ways to teach me.
I have yet to grasp it,...

Though I still have the interest in programming of every kind, it is just so cool!. Cool  Cool  Cool

Logged

dementedmuppet
Supporting Member
**
Posts: 25



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #20 on: July 14, 2009, 11:23:44 AM »

Maybe this is a stupid question, but I have wonder for quite some time now...

Why don't more beginning programmers get into the type of applications used in offices?  

I write databases for a Fortune 500 (specifically, Fortune 100) company.  Being able to understand the business needs and match those with code is challenging.  The guy who previously had my job was an engineer.  His programming skills far exceed mine.  He had "engineer blinders" that put him out of touch with the users.  

Microsoft Office is so commonly used yet I almost never find coders who are familiar with it.  If I had a nickel for ever time I heard "Access is not a good database solution" I would never need to work again.  The prevalence of the product makes it worthwhile to learn.  Once the basics are learned, the pathetic interface is less relevant since it reads SQL and VB.  The fact that a good coder would never choose it is well established.  But it is in such common use that the coder's choice is irrelevant.  It is no worse than OOP like Java or C#. 

MS Access knowledge would create incredible freelance opportunities.  Most office workers don't want to know how to write code even if the code is easy.  So a coder could offer to do it, spend ten minutes writing the solution, deliver it a week later and charge a zillion $s...

Please don't villify me for leaving the Ivory Tower of coders.  I am just curious why there are so many talented coders who struggle to make a living.  Not all of them struggle.  But fewer would have to if they peak outside the Tower.
« Last Edit: July 14, 2009, 11:25:30 AM by dementedmuppet » Logged

Impossible is nothing
PPLandry
Supporting Member
**
Posts: 691


see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #21 on: July 14, 2009, 01:51:47 PM »

MS Access knowledge would create incredible freelance opportunities.  Most office workers don't want to know how to write code even if the code is easy.  So a coder could offer to do it, spend ten minutes writing the solution, deliver it a week later and charge a zillion $s...

I've built my consulting activities around Access and Jet (started with version 1.0). The interface has its quirks, but has many pluses too. I find it is very well suited to what Access is: managing / analyzing data, reporting. My customers agree too.

And if users want something more robust than Jet, Access is an excellent front-end to SQL Server.

From the customer's point of view, one big plus for Access, as opposed to compiled apps, is that changes can be made by them (cosmetic, new queries, etc), so they don't feel locked in.
Logged

Real generosity toward the future lies in giving all to the present -- Albert Camus -- www.InfoQube.biz
40hz
Supporting Member
**
Posts: 10,864



see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #22 on: July 14, 2009, 02:00:58 PM »

I'd suggest Python as a very good (and practical) first language.

You can even download a portable version so you can take it with you wherever you go. Cost = $0

Portable Python link: http://www.portablepython.com/

Use this excellent (and free) online book as an intro:

http://openbookproject.ne...thinkcs/python/english2e/

 Cool


Logged

Don't you see? It's turtles all the way down!
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #23 on: July 15, 2009, 10:50:20 AM »

My biggest gripe with access is when it's used where it really shouldn't be - like a backend for anything multi-user.
Logged

- carpe noctem
PPLandry
Supporting Member
**
Posts: 691


see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #24 on: July 15, 2009, 11:17:09 AM »

My biggest gripe with access is when it's used where it really shouldn't be - like a backend for anything multi-user.

Aren't you confusing Access with JET? Access is the UI. JET (real name JET Red) is the database engine. As a "free" database engine, JET far exceeds anything else (correct me if I'm wrong)
http://en.wikipedia.org/w...osoft_Jet_Database_Engine
Logged

Real generosity toward the future lies in giving all to the present -- Albert Camus -- www.InfoQube.biz
Pages: [1] 2 Next   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.078s | Server load: 0.08 ]