|
app103
|
 |
« 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
|
 |
« 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!  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?  ) 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 
|
|
|
|
|
Logged
|
|
|
|
|
Tekzel
|
 |
« 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!  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?  ) 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  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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« Reply #6 on: May 25, 2006, 10:39:09 AM » |
|
Danish 
|
|
|
|
|
Logged
|
 - carpe noctem
|
|
|
|
mouser
|
 |
« 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
|
 |
« 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
|
 |
« Reply #9 on: May 25, 2006, 11:07:25 AM » |
|
Danish  I'll keep my eyes open for anything and let you know if I find something.
|
|
|
|
|
Logged
|
|
|
|
|
Rover
|
 |
« 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  so many decisions... we need a nice case statement. 
|
|
|
|
|
Logged
|
Insert Brilliant Sig line here
|
|
|
|
mitzevo
|
 |
« 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. 
|
|
|
|
|
Logged
|
The early bird may get the worm; but the second mouse gets the cheese!
|
|
|
|
pro3carp3
|
 |
« 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
|
|
|
|
|
f0dder
|
 |
« 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 
|
|
|
|
|
Logged
|
 - carpe noctem
|
|
|
|
mitzevo
|
 |
« 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 early bird may get the worm; but the second mouse gets the cheese!
|
|
|
|
Conquer
|
 |
« 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 
|
|
|
|
|
Logged
|
|
|
|
|
thunder7
|
 |
« Reply #16 on: July 06, 2008, 07:51:34 AM » |
|
Which languages C++ & Delphi Ok I am dirt poor! How much $$$???
|
|
|
|
|
Logged
|
|
|
|
|
f0dder
|
 |
« 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
|
 |
« 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
|
 |
« 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  After that,.. I am lost. A very good friend of mine CoMa of CoMa Freeware List http://www.algonet.se/%7E...ub/freeware/freeware.htmlHas 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!. 
|
|
|
|
|
Logged
|
|
|
|
|
dementedmuppet
|
 |
« 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
|
 |
« 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
|
|
|
|
|
|
f0dder
|
 |
« 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
|
 |
« 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
|
|
|
|