Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › 15 Year old wants to start programming.
New Posts  All Forums:Forum Nav:

15 Year old wants to start programming. - Page 3

post #21 of 55
Quote:
Originally Posted by IrDewey View Post
I would say to start with Javascript, actually. It's really very simple once you get the hang of it.

Actually, what would be best, is get a TI-83 or 84 calculator (you probably already have one, it's required for most high school math classes). You can write programs in them and it's extremely simple.
yea learning how to design and create calculator programs is quite easy
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q9300 @ 3.375Ghz (1.320v) Asus P5Q Pro Turbo 2x 5770's in xfire 8Gb Geil @ 900mhz 
Hard DriveOptical DriveOSMonitor
2x Maxtor 500Gb 7200RPM LG Win 7 Ultimate 64 Samsung 
KeyboardPowerCaseMouse
i-rocks gaming Nox Krypton 800W Haf 922 i-rocks 1600 dpi laser 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q9300 @ 3.375Ghz (1.320v) Asus P5Q Pro Turbo 2x 5770's in xfire 8Gb Geil @ 900mhz 
Hard DriveOptical DriveOSMonitor
2x Maxtor 500Gb 7200RPM LG Win 7 Ultimate 64 Samsung 
KeyboardPowerCaseMouse
i-rocks gaming Nox Krypton 800W Haf 922 i-rocks 1600 dpi laser 
  hide details  
Reply
post #22 of 55
if you want to do C# or VB go here Free Visual Studio then here .Net
775
(13 items)
 
  
CPUMotherboardGraphicsRAM
E8400 @ 1.1ghz 0.9v Asus P5Q Pro Turbo Asus 9600 GT 4X 2 gig gskill 8500 
Hard DriveOptical DriveOSMonitor
1 x 1TB 2 x 320 GB Dvd W7 Pro RTM 23 LCD Acer 
KeyboardPowerCaseMouse
MoneySoft 350 In-win Dell 
Mouse Pad
Max Payne 
  hide details  
Reply
775
(13 items)
 
  
CPUMotherboardGraphicsRAM
E8400 @ 1.1ghz 0.9v Asus P5Q Pro Turbo Asus 9600 GT 4X 2 gig gskill 8500 
Hard DriveOptical DriveOSMonitor
1 x 1TB 2 x 320 GB Dvd W7 Pro RTM 23 LCD Acer 
KeyboardPowerCaseMouse
MoneySoft 350 In-win Dell 
Mouse Pad
Max Payne 
  hide details  
Reply
post #23 of 55
Quote:
Originally Posted by MAXX3.3_Esq View Post
I would look at the Shelly Cashman books

http://www.course.com/shellycashman/

It will walk you through with an example of the fundamentals and then give you projects to accomplish to shore up the concept.

Personally I would start with VB and get the basics down and then move on to what language you want.

I personally equate, " I want to program," to "I want to drive." Drive what, to the store, a racetrack, long haul etc....

You need a goal - then base the language you learn on achieving that goal.
+1 This is definitely what you should be thinking about.
Red Dragons!
(16 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II 965 BE Gigabyte MA770T-UD3P Sapphire 5970 G-Skill Ripjaws 
Hard DriveHard DriveOptical DriveOS
OS Storage Lite-On DVD Burner Win-7 64 
MonitorMonitorMonitorKeyboard
LG W2243T LG W2243T LG W2243T Generic 
PowerCaseMouseMouse Pad
Corsair 850TX CM 690 nVidia Edition Razer DeathAdder 3500DPI Sweet AMD one 
  hide details  
Reply
Red Dragons!
(16 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II 965 BE Gigabyte MA770T-UD3P Sapphire 5970 G-Skill Ripjaws 
Hard DriveHard DriveOptical DriveOS
OS Storage Lite-On DVD Burner Win-7 64 
MonitorMonitorMonitorKeyboard
LG W2243T LG W2243T LG W2243T Generic 
PowerCaseMouseMouse Pad
Corsair 850TX CM 690 nVidia Edition Razer DeathAdder 3500DPI Sweet AMD one 
  hide details  
Reply
post #24 of 55
Quote:
Originally Posted by cbrazeau1115 View Post
Thats why I was saying if he hasnt been able to grasp class concepts, start basic and low and get the ability to get basic coding and loops in. Just like you said, script isnt really code.
Assembly is a completely different programming paradigm, though. Even as a first language, it wouldn't help him to understand the concepts of an inherently easier language like C++ or Java (ironically). For the amount of code it takes to get anything done in assembly, it might be discouraging...

I personally believe any variation of BASIC, be it VB, TI-BASIC, etc. could be skipped entirely as a first language, however if you're really struggling with the concepts of an OOP language, it might be a good place to start.
Edited by dzalias - 6/9/10 at 6:34pm
Rig
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500k MSI P67A-GD65 (B3) 760ti G.Skill Ripjaws 
Hard DriveCoolingOSMonitor
OCZ Vertex 2 Noctua NH D14 Windows 7 64bit Dell SP2309W 
MonitorMonitorKeyboardCase
Dell S2009W Dell S2009W CM Storm Quickfire XT NZXT Phantom Black 
Mouse
Razer Deathadder Chroma 
  hide details  
Reply
Rig
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500k MSI P67A-GD65 (B3) 760ti G.Skill Ripjaws 
Hard DriveCoolingOSMonitor
OCZ Vertex 2 Noctua NH D14 Windows 7 64bit Dell SP2309W 
MonitorMonitorKeyboardCase
Dell S2009W Dell S2009W CM Storm Quickfire XT NZXT Phantom Black 
Mouse
Razer Deathadder Chroma 
  hide details  
Reply
post #25 of 55
Quote:
Originally Posted by dzalias View Post
Assembly is a completely different programming paradigm, though. Even as a first language, it wouldn't help him to understand the concepts of an inherently easier language like C++ or Java (ironically). For the amount of code it takes to get anything done in assembly, it might be discouraging...
Very true point, assembly gets blissteringly annoying when you are trying to do basic things. I was just trying to think a way to get him invlved with programing without having to stress the concepts he wasnt getting yet, being objects.

Regardless, decide something you want to try making, somthing simple, take what you know and internet search/coding for dummies/ocn question your way through the code. Once you start to get it its easy to keep going and youll learn your best outlets for finding help!
Sokar
(20 items)
 
  
CPUMotherboardGraphicsRAM
i7 930 @ 3.75 GHz EVGA x58 3x SLI EVGA 670 4GB 12GB Samsung PC3 12800 
Hard DriveHard DriveHard DriveHard Drive
Cruical M4 WD Caviar Black WD Caviar Black Seagate 
CoolingOSMonitorKeyboard
Custom WC Loop Windows 7 x64 x3 Dell U2312HM I-ROCKS KR-6820E-BK 
PowerCaseMouseMouse Pad
Ultra x3 1000w Danger Den Torture Rack Razer Deathadder Black Razer Goliathis 
AudioAudioAudio
Inifitity P153 Speakers Lepai TA202A Amp Asus Xonar DG 
  hide details  
Reply
Sokar
(20 items)
 
  
CPUMotherboardGraphicsRAM
i7 930 @ 3.75 GHz EVGA x58 3x SLI EVGA 670 4GB 12GB Samsung PC3 12800 
Hard DriveHard DriveHard DriveHard Drive
Cruical M4 WD Caviar Black WD Caviar Black Seagate 
CoolingOSMonitorKeyboard
Custom WC Loop Windows 7 x64 x3 Dell U2312HM I-ROCKS KR-6820E-BK 
PowerCaseMouseMouse Pad
Ultra x3 1000w Danger Den Torture Rack Razer Deathadder Black Razer Goliathis 
AudioAudioAudio
Inifitity P153 Speakers Lepai TA202A Amp Asus Xonar DG 
  hide details  
Reply
post #26 of 55
well i started with java and .net they seem to be easy to learn
I7 Beast
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7 5820k 4.5GHz  MSI X99A XPower AC Motherboard Gigabyte GTX 980TI G1  48GB Crucial Ballistix DDR4 2666MHz 
Hard DriveHard DriveOSMonitor
Crucial M550 500GB x2 RAID 0 Samsung 850 500GB EVO x2 RAID 0  Windows 10 Pro  ASUS MG279Q 1440P 144Hz Primary 
MonitorKeyboardPowerCase
QNIX Q270 27" 1440P PLS Monitor Secondary Razer Blackwidow Chroma X  Corsair RM850 PSU Corsair 700D 
MouseMouse PadAudio
Zowie FK1 Mouse 800DPI, Source/Quake Sensitivit... Roccat Taito Cloth Pad ASUS STXII with Sennheiser HD598 w/ Modmic 4.0 
  hide details  
Reply
I7 Beast
(15 items)
 
  
CPUMotherboardGraphicsRAM
i7 5820k 4.5GHz  MSI X99A XPower AC Motherboard Gigabyte GTX 980TI G1  48GB Crucial Ballistix DDR4 2666MHz 
Hard DriveHard DriveOSMonitor
Crucial M550 500GB x2 RAID 0 Samsung 850 500GB EVO x2 RAID 0  Windows 10 Pro  ASUS MG279Q 1440P 144Hz Primary 
MonitorKeyboardPowerCase
QNIX Q270 27" 1440P PLS Monitor Secondary Razer Blackwidow Chroma X  Corsair RM850 PSU Corsair 700D 
MouseMouse PadAudio
Zowie FK1 Mouse 800DPI, Source/Quake Sensitivit... Roccat Taito Cloth Pad ASUS STXII with Sennheiser HD598 w/ Modmic 4.0 
  hide details  
Reply
post #27 of 55
I’m asked about this all the time, and it’s in part because I am a software engineer, a developer with 30+ years experience.

My first real learning experience was on the TRS-80, using interpreted BASIC – a primitive, line oriented language which was as appropriate as available at the time.

I know there are a lot of well meaning posts here, but I have to agree that Javascript, HTML, even PHP are not among the best examples for students, but then BASIC wasn’t either.

My primary language of choice is C++. I know it extremely well, but I must say that it’s not the best language to start off in. It’s filled with potential pitfalls.

Now, the suggestion to consider assembler is interesting, but also not suitable for a beginning student unless that student is extremely dedicated, focused, determined and talented (but then, all possible avenues would be appropriate for that kind of person). One reason I don’t suggest C++ is because it’s basis is C, and C was originally intended as a pseudo assembler, and that’s why it was used to write the first version of Unix.

C# or Java are the appropriate starting points. C# has better overall performance and access to the Windows operating system, but Java has its own merits. Both are “safer” for students, but C# may have the edge if I had to choose should I teach a course. Most universities are using Java in that mode.

Now, if game development is your target, Java isn’t your primary language direction unless your games are on the Andriod phone. C++ will be the primary language there, with assembler as a rare secondary.

The concepts of code construction, the use of objects, the theories of computer science are all well illustrated in C# and Java, and that knowledge is transferrable to C++ and elsewhere. Even the syntax of these three languages share a common root.

Sorry, though, I haven’t been a student for decades, and thus I have no current references to suggest for a beginner. I can leave you with this one bit of help relative to your question:


In the early BASIC language, and indeed in primitive assembler, there is a single dimension of organization….a list of instructions. The list can loop, branch, even “return” from a branch, but it’s just a list of instructions. This is what the very earliest style of programming a computer was based upon.

C wasn’t the first, but probably the best example of the second dimension of organization; functions. A function is a collection of statements wrapped up in an identifier (a name). The primary unique feature of the function is a local set of variables unique to the local execution of the function, it involves the concept of a stack. The stack is a specialized area of memory that works like a stack of cards, which are used to remember what function the point of execution CAME FROM. It also includes any storage for local variables for that particular moment of execution of that function. Imaging if you were constantly interrupted with additional things to do, all day long. You might, if you’re a primitive thinker, need to write what you were doing just before you were interrupted on a card, and place it in a stack of cards, then proceed with what you were interrupted to do. During that time you may get another interruption, and another, and each time you put a card on top of the stack which recalls what you were doing, and any information about how far you had gotten while you were doing it…so that when you’re finally done with the current task, you toss the card for that task in the trash, pick up the top card on the stack, and CONTINUE. You can “unwind” this stack, and therefore never loose track of the interrupted tasks. Of course, these “interruptions” are really scheduled, expected tasks…they just put your current task into a “suspended” condition until the “sub task” is completed, and you return.

Programmers usually think of “being inside a function”. Within the function, that “card on the stack” contains all the local variables used during that function’s execution.

Imagine what happens if, while inside a function, you call….that same function again, and again, and again….the stack could grow indefinitely. Of course, there would be a “termination condition”…limiting how high the stack would get (what we usually think of as the DEPTH of this self calling…known as recursion).

Now, each time that happens, each sub-call (or recursion of the call as we name it) has it’s own local variables. Before you think that’s a useless notion, the fastest sorting algorithm (generally), called qsort, is written based on that very design.



Now, to objects.

Objects are a 3rd dimension to the organization of code. We view them as a collection of data and functions. Further, with clever structuring, the nature of objects creates multiple dimensions of organization, so it’s really well beyond just 3 dimensions.

Think of this analogy. First, there’s a list of instructions…consider them as rows in a spreadsheet. Next, there are functions..think of these as columns. Now you witness the 2D nature of that organization.

Now, the objects are pages.

Which, of course, can be organized in chapters, books, libraries…etc.


The purpose of the object is to take the feature of multiple dimensional organization and use it to create software that’s built more like a machine.

In C, which doesn’t have objects, we tended to create these groups of functions that worked as a family, all devoted to a particular subject. There are functions to handle string, others for math, others for files…etc.

It gets to be a mess, strictly organized only by the discipline of the programmers working on it.

With objects, we create components that work like parts of a machine, then fit those components together to create more complex machines. Those machines can, in turn, be turned into components in yet more complex machines, while still keeping the organization under control….and leveraged.

Instead of a bunch of functions that handle files, we create (or there is a library with) an object that represents an open file. We use the object to load and save data to the file it represents.

Objects become metaphors for the real world counterparts they model.

Note, when I say that, I’m not talking about games, though certainly they’re used for that…I’m talking about concepts – any concept. The object gives whatever concept it represents the features of reality, and makes development a lot more productive, and gives us leverage to produce applications of greater ambition with greater organization.

Best of luck….it’s a blast if its your kind of thing!
Edited by JVene - 6/9/10 at 6:51pm
post #28 of 55
I've just started to do coding in general and I've picked up Java for dummies, which is surprisingly a very easy to follow and well written book IMO.
Little Avenger
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500K Asus P8P67-M EVGA GTX 670 2GB  Corsair Vengeance 1600MHz (2x4GB) 
Hard DriveHard DriveCoolingOS
120GB Samsung 840 EVO WD Black 320GB Xigmatek Dark Knight Hawk Edition P/P Windows 8 Professional x64 
MonitorKeyboardPowerCase
Asus VS247H-P x2 Cooler Master Quickfire Stealth Corsair TX650W BitFenix Raider 
MouseMouse PadAudioOther
CoolerMaster Recon SteelSeries Qck Mini Creative Recon 3D Sennheiser PC350 
  hide details  
Reply
Little Avenger
(16 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5 2500K Asus P8P67-M EVGA GTX 670 2GB  Corsair Vengeance 1600MHz (2x4GB) 
Hard DriveHard DriveCoolingOS
120GB Samsung 840 EVO WD Black 320GB Xigmatek Dark Knight Hawk Edition P/P Windows 8 Professional x64 
MonitorKeyboardPowerCase
Asus VS247H-P x2 Cooler Master Quickfire Stealth Corsair TX650W BitFenix Raider 
MouseMouse PadAudioOther
CoolerMaster Recon SteelSeries Qck Mini Creative Recon 3D Sennheiser PC350 
  hide details  
Reply
post #29 of 55
You don't want to program, it's not cool and it's not fun. It's tedious and time consuming, you don't want to get yourself into it, do something else. That being said i think if you really want to start with concept and theory start with Alice, not python you would have no idea what you were doing without a text book.
Lal
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 GIGABYTE GA-990XA-UD3 Sapphire Radeon HD 5850 Corsair Vengeance 8 GB 
Hard DriveOptical DriveCoolingOS
Seagate 320GB & HD Hitachi 1.5 TB Lite ON 24X DVDRW SATA OEM Corsair H70 Liquid Cooler (Push and Pull) Windows 7 Home Premium x64 
MonitorPowerCaseOther
Toshiba 40'' Widescreen & 20"Dell LCD OCZ ModXStream Pro 600W Corsair Carbide Series 400R 2 More additional Corsair 120mm Fans 
  hide details  
Reply
Lal
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X4 965 GIGABYTE GA-990XA-UD3 Sapphire Radeon HD 5850 Corsair Vengeance 8 GB 
Hard DriveOptical DriveCoolingOS
Seagate 320GB & HD Hitachi 1.5 TB Lite ON 24X DVDRW SATA OEM Corsair H70 Liquid Cooler (Push and Pull) Windows 7 Home Premium x64 
MonitorPowerCaseOther
Toshiba 40'' Widescreen & 20"Dell LCD OCZ ModXStream Pro 600W Corsair Carbide Series 400R 2 More additional Corsair 120mm Fans 
  hide details  
Reply
post #30 of 55
Quote:
You don't want to program, it's not cool and it's not fun. It's tedious and time consuming, you don't want to get yourself into it, do something else.

I would agree with this point for a great many people I know. It's a personal choice.

Let me put it this way, by relating a bit of my own history, and as an opener, I've been doing this for decades and I wouldn't want to do anything else.


Among many things I've done over the years, one was a product for a client I built in 1983 for a manufacturing firm he owns. At the time he employed 15 people, made perhaps 1 million a year in sales.

He used it for years, and by 1991 I built a replacement using new ideas, accounting for new product lines his company produced, and the newer computers (Windows 3.1 at the time) then in vogue - the server applications were for Unix, clients were on Windows, upgraded in 95 for 32 bit Windows.

I hadn't heard from him for years, and I get this frantic knock on my door one day...it was him. He didn't have my current number, but knew where I lived. I hadn't seen him for 6 years.

He came to get me because for the first time since 1991, he was having a problem with the software I built. He uses it every day, all day, for a staff of now 300 people (not all 300 use it, but about 50 do).

I've built other things for him, for a great many industries...but just imagine how that business relationship is for a moment. This guys business depends on something I built in 1991...to this day!

It had not crashed or given him any problem at all for over 12 straight years.

Some hard drive had developed a bad sector over one of the database files.



Anyway, for people who have patience, and find the mental gymnastics required comfortable, it's a wonderful career path....IF YOU'RE REALLY GOOD AT IT.

Otherwise, yep.....don't.

But then, I could easily say the same thing about being an attorney, accountant or, in THIS modern age, a physician.....
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › 15 Year old wants to start programming.