Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Help me select a language.
New Posts  All Forums:Forum Nav:

Help me select a language.

post #1 of 21
Thread Starter 
Hello. First post in the programming section. I'm very new to programming in general, I have followed some basic online tutorial's to make's calculator's and such in a few different language's but still don't know much about much. Its time to select select a language or two that I can focus on. I don't want to become a professional programmer, only make small basic applications. I'm pretty much only interested in making small hardware monitoring programs. Nothing fancy or spiffy, Just make a bar graph that show's CPU usage and go from there. Maybe later add RAM usage to it. Eventually I would like to make the program be able to adjust PWM fan's or something. Kind of like a very cheap knock off of speed fan or hardware monitor. I understand I won't learn to do this is a short amount of time. I want to start small. Like make a graph or even just a small box that show's CPU usage as a % and slowly go from there. Kind of like how in rainmeter people make all kinds of Hardware info "widgets" and stuff.

So that's what I would like to accomplish but what programming language(s) should I learn before setting out to accomplish my end goal? I'm ok with buying book's and doing lots of reading and learning. I am also fully aware that this won't happen in any short amount of time, but if I don't start somewhere I'll never learn biggrin.gif Thanks for reading.
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
post #2 of 21
I'd say start with Visual Basic but for intricate applications I'd go with either C/#/++ or Java. (Java works for so many things 0.o)
post #3 of 21
Thread Starter 
Quote:
Originally Posted by lpjz50 View Post

I'd say start with Visual Basic but for intricate applications I'd go with either C/#/++ or Java. (Java works for so many things 0.o)

Visual Basic and C++ are the one's I have worked the most with so far so that's nice to hear. I would like to use java but have heard its not fun to use.. but the fact that everything runs it kinda draw's me to it. Is it hard to learn simple stuff in?
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
post #4 of 21
Well C is apparently more secure than Java Java can be a pain but it's easy to port from device-to-device. I repeal my statement before. Similar languages really though, nothing to hard to transfer from one to another.
Edited by lpjz50 - 7/7/12 at 2:35am
post #5 of 21
Thread Starter 
Quote:
Originally Posted by lpjz50 View Post

Well C is apparently more secure than Java and Java can be a pain but it's easy to port from device-to-device. Similar languages really though, nothing to hard to transfer from one to another.

What do you mean "Secure"?
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
post #6 of 21
Okay maybe Secure wasn' t a great term, I'm doing this based on memory, so forgive me if I mess up. I'm not necessarily the professional programmer, in school for that ^.^

I read somewhere that C# was preferable over Java due to safety features implemented into it over Java as Java has an "anywhere" mentality and C# is for a one place use. I'm trying to make sense for you, forgive me for sucking :[. Let me try and find the link for you.

UPDATE: Here is a link that differs from what I said, so I'm sorry if taken wrong.

Java is considered more secure than other languages for several reasons:
The Java compiler catches more compile-time errors; other languages (like C++) will compile programs that produce unpredictable results.
Java does not allocate direct pointers to memory. This makes it impossible to accidentally reference memory that belongs to other programs or the kernel.



My answer may differ

Java's security model is focused on protecting users from programs downloaded from sources across a network. Java programs run in Java Runtime Environment. Java Programs can't take any action outside those boundaries. For example, Programms are prohibited from many activities, including:

* Reading or writing to the local disk
* Making a network connection to any host, except the host from which the applet came
* Creating a new process
* Loading a new dynamic library and directly calling a native method

Read more: http://wiki.answers.com/Q/Why_is_Java_more_secure_than_other_languages#ixzz1zva4n9lt


Another statement -

http://stackoverflow.com/questions/3893644/why-is-java-labeled-as-a-secure-language

IMHO, that's a very misleading statement. In Java, you cannot access out-of-bound arrays, and you don't have pointers, and thus several security flaws like stack corruption or buffer overflow is impossible to exploit in Java. But Java is not inherently more secure than any other language; it's just there is less chance to make mistakes that can cause security flaws. In effect, this reduces security flaws, but it's totally misleading to say Java is secure.]

Edited by lpjz50 - 7/7/12 at 2:37am
post #7 of 21
Are you sure you only want to be able to create simple GUI based apps (without necessarily understanding everything you do, but getting things done regardless) or do you actually want to learn and truly understand programming and coding as a whole?

Either way, I'd say Java is a good start because it provides the Swing and AWT classes by default for programming GUIs, if that's your main motivation for learning programming.
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
post #8 of 21
Yeah Java seems like a good bet biggrin.gif Sorry OP for my misleading start.
post #9 of 21
Thread Starter 
Quote:
Originally Posted by {Unregistered} View Post

Are you sure you only want to be able to create simple GUI based apps (without necessarily understanding everything you do, but getting things done regardless) or do you actually want to learn and truly understand programming and coding as a whole?
Either way, I'd say Java is a good start because it provides the Swing and AWT classes by default for programming GUIs, if that's your main motivation for learning programming.

Sure I would like to have some understanding of what I'm doing, I'm only interested in making small applications. Because of the nature of the applications and programs I intend to create I think it would be best to understand as much as possible about what I'm doing. My only problem so far is it take's a lot of effort to learn programming and there are so many different language's. Once I can select a language I can search the depths of the interwebs for guides, how-to's, and info on how to start with the language.

Also, To actually program something myself wouldn't I need to have a good idea of what I'm doing? If not I fear I would be "that guy" who is always asking other people to code things fore me, rather than the guy asking for a push in the right direction.
Quote:
Originally Posted by lpjz50 View Post

Okay maybe Secure wasn' t a great term, I'm doing this based on memory, so forgive me if I mess up. I'm not necessarily the professional programmer, in school for that ^.^
I read somewhere that C# was preferable over Java due to safety features implemented into it over Java as Java has an "anywhere" mentality and C# is for a one place use. I'm trying to make sense for you, forgive me for sucking :[. Let me try and find the link for you.
UPDATE: Here is a link that differs from what I said, so I'm sorry if taken wrong. Warning: Spoiler! (Click to show)
Java is considered more secure than other languages for several reasons:
The Java compiler catches more compile-time errors; other languages (like C++) will compile programs that produce unpredictable results.
Java does not allocate direct pointers to memory. This makes it impossible to accidentally reference memory that belongs to other programs or the kernel.
My answer may differ
Java's security model is focused on protecting users from programs downloaded from sources across a network. Java programs run in Java Runtime Environment. Java Programs can't take any action outside those boundaries. For example, Programms are prohibited from many activities, including:
* Reading or writing to the local disk
* Making a network connection to any host, except the host from which the applet came
* Creating a new process
* Loading a new dynamic library and directly calling a native method
Read more: http://wiki.answers.com/Q/Why_is_Java_more_secure_than_other_languages#ixzz1zva4n9lt

Another statement -
http://stackoverflow.com/questions/3893644/why-is-java-labeled-as-a-secure-language
IMHO, that's a very misleading statement. In Java, you cannot access out-of-bound arrays, and you don't have pointers, and thus several security flaws like stack corruption or buffer overflow is impossible to exploit in Java. But Java is not inherently more secure than any other language; it's just there is less chance to make mistakes that can cause security flaws. In effect, this reduces security flaws, but it's totally misleading to say Java is secure.]
Thanks for the explanation.

Quote:
Originally Posted by lpjz50 View Post

Yeah Java seems like a good bet biggrin.gif Sorry OP for my misleading start.

No, its ok. Your first post's were not misleading at all. thumb.gif

For what its worth I'm also starting to get into things like PIC and Arduino Micro Controller's and have also Downloaded the Android SDK and have started learning about that. If I could blend all 3 together it would please me a great deal. Eventually I'll learn to build website's(well learn more than I know now) and make my own "Looks what happends when you let an uneducated human play with electronics/DIY site" for giggles and personal satisfaction. wink.gif
Edited by KhaoticKomputing - 7/7/12 at 3:07am
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
Gizmoto
(18 items)
 
They beat me:(
(15 items)
 
Home Server V1.0
(17 items)
 
CPUMotherboardGraphicsRAM
AMD Phenom II x6 1040t @2.7Ghz ASRock 880GM-LE FX  AMD Radeon HD 4250 integrated graphics Micro Center(ADATA) 8Gb (2x4) 1333 
Hard DriveHard DriveHard DriveHard Drive
Western Digital Caviar Blue 640Gb Samsung SpinPoint F4 2Tb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb Seagate Barracuda 7200.9 ST3500641AS-RK 500Gb 
Optical DriveOptical DriveCoolingOS
ASUS 24X DVD Burner ASUS 24X DVD Burner Stock AMD Cooler Windows 7 Home Premium 64 bit 
OSOSPowerCase
Linux Mint (VM) Linux Ubuntu (VM) Inland ILG-500R2 500w PSU DiabloTek Evo Mid-tower Case 
Other
Inland IL internal card reader 
  hide details  
Reply
post #10 of 21
Java isn't a bad start then, especially since you're going to be programming for Android too.

As I always say, learn the core programming concepts instead of merely focussing on the syntax of a specific language. Sure, you have to learn Java's syntax and style too but what you should be focussing on is understanding how programming in general works, i.e., procedural and object-oriented paradigms, controlling the flow of a program using loops and conditions, variables, data structures, data types, classes, objects, packages and finally how they all come together to form a program that fulfills the intended task.

For a good introductory java book, search 'java notes 6' on google and go to the first link. It'll teach you everything you need to know with a fair bit of detail. Then, once you know all that, you may begin with specialising in what you need to know for your intended application: GUI, getting monitoring data from the system, and anything else you may need.

Once you know a single language, all other languages will come will relative ease.

Good luck.
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
MacBook Pro 13"
(6 items)
 
 
Desktop
(13 items)
 
CPUGraphicsRAMHard Drive
Intel i5 3210 @ 2.5 GHz Intel HD4000 4 GB DDR3 @ 1600 MHz 500 GB @ 5400 RPM 
OSMonitor
OSX Mountain Lion 13.3" @ 1280 x 800 
CPUGraphicsRAMHard Drive
Intel i5 480m@2.67GHz AMD Radeon Mobility 5650 4GB DDR3 500GB 
OSMonitor
Windows 7 64bit HP 15.6" 1366x768 
CPUMotherboardGraphicsRAM
E7500 Intel...:( MSI GTS250 1GB 2GB 
Hard DriveOSMonitorPower
250GB Windows XP 17" LG CRT 1280x768@85hz 400W 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Help me select a language.