Programming | What programming language should I start with?

Page 1 of 3 [ 35 posts ]  Go to page 1, 2, 3  Next


Was this helpful on you programming language selection?
Poll ended at 12 Jun 2014, 7:40 pm
Yes 33%  33%  [ 1 ]
No 67%  67%  [ 2 ]
Total votes : 3

MolinaMegaTech
Hummingbird
Hummingbird

User avatar

Joined: 12 Mar 2014
Age: 23
Gender: Male
Posts: 18
Location: In your CPU

14 Mar 2014, 7:40 pm

As you can see from the title, I am going to be talking on learning a new first programming language. Well most of all you want to start basic, which is essential for almost anything. Also you want to pick a syntax friendly language (such as CSS, JavaScript, C) as well as being able to understand by looking dead at it. Two of most well know programming languages are HTML & CSS. They are as well fully meant for web development (HTML & CSS are almost required things. You will use them throughout almost every project you make). If you are going in a different direction such as app development, or lets say to just simply writing you first program, you would use either Java, C, and JavaScript.

Really all is that I am saying here is that choosing the right language all depends on what you want to do.

Ask questions below if needed! I will enjoy answering them. :D

Make sure you answer the poll question it only lasts 90 days!



TallyMan
Veteran
Veteran

User avatar

Joined: 30 Mar 2008
Gender: Male
Posts: 40,061

14 Mar 2014, 8:28 pm

Hi, I gather from your other post that you are only 12. Well done getting such an early start in programming. I'm a veteran programmer in my fifties now; been programming for over thirty years! I've seen various programming languages come and go but things like C++ and generic forms of BASIC tend to hang around and still be useful. My CV reads like the history of computing! :lol: Obviously knowing HTML and CSS are important if you are developing web pages, other than that I suggest you concentrate on programming those things that interest you, whatever the language... but keep any eye on where the money is and if you have any great ideas try to monetise them with apps etc.


_________________
I've left WP indefinitely.


Kurgan
Veteran
Veteran

User avatar

Joined: 6 Apr 2012
Age: 35
Gender: Male
Posts: 4,132
Location: Scandinavia

14 Mar 2014, 9:04 pm

MolinaMegaTech wrote:
As you can see from the title, I am going to be talking on learning a new first programming language. Well most of all you want to start basic, which is essential for almost anything. Also you want to pick a syntax friendly language (such as CSS, JavaScript, C) as well as being able to understand by looking dead at it. Two of most well know programming languages are HTML & CSS. They are as well fully meant for web development (HTML & CSS are almost required things. You will use them throughout almost every project you make). If you are going in a different direction such as app development, or lets say to just simply writing you first program, you would use either Java, C, and JavaScript.

Really all is that I am saying here is that choosing the right language all depends on what you want to do.

Ask questions below if needed! I will enjoy answering them. :D

Make sure you answer the poll question it only lasts 90 days!


I'd recommend C# in favour of Java (with Xamarin, whatever you write in C# will also run well on Android and iOS). When it comes to C, I find that C++ is superior; having classes and objects really make development easier. :)

For an excellent demonstration of what JavaScript can do, check out some of the WebGL tech demos. I really like this one.



slave
Veteran
Veteran

User avatar

Joined: 28 Feb 2012
Age: 111
Gender: Male
Posts: 4,420
Location: Dystopia Planetia

15 Mar 2014, 4:49 pm

TallyMan wrote:
Hi, I gather from your other post that you are only 12. Well done getting such an early start in programming. I'm a veteran programmer in my fifties now; been programming for over thirty years! I've seen various programming languages come and go but things like C++ and generic forms of BASIC tend to hang around and still be useful. My CV reads like the history of computing! :lol: Obviously knowing HTML and CSS are important if you are developing web pages, other than that I suggest you concentrate on programming those things that interest you, whatever the language... but keep any eye on where the money is and if you have any great ideas try to monetise them with apps etc.


out of curiosity~~~~where is the best money in programming?
what about mobile apps? what kind of money is involved in that?
what about designing websites?
how much do website or apps cost to have someone program them?
i'm sure even lurkers would love to know.



WillMcC
Veteran
Veteran

User avatar

Joined: 16 Mar 2007
Age: 40
Gender: Male
Posts: 546
Location: Florida

19 Mar 2014, 4:24 pm

I started programming in Visual Basic (back in the days of Windows 3.1, long before VB.NET, which does follow a similar syntax), and later moved onto C++, C, Java, C#, etc. In middle school, I also got to play with LOGO and QBasic.

Traditional HTML and CSS are not "programming" languages - they are markup languages, and unless you embed JavaScript (which IS a programming language that is based on Java), there is no programming involved in creating a webpage. With true programming, you have procedures and logic flow (IF statements, loops, etc.)


_________________
"Tongue tied and twisted, just an earth-bound misfit, I" - Pink Floyd
(and then the tower cleared me for take off)


Kurgan
Veteran
Veteran

User avatar

Joined: 6 Apr 2012
Age: 35
Gender: Male
Posts: 4,132
Location: Scandinavia

20 Mar 2014, 1:59 pm

Actually, JavaScript is very different from Java. The former is named as such because JavaScript is a trademark belonging to the Oracle Corporation.



khaoz
Veteran
Veteran

User avatar

Joined: 9 Apr 2013
Age: 67
Gender: Male
Posts: 2,940

21 Mar 2014, 9:27 pm

It seems like many young people today who learn programming gravitate immediately into using their new knowledge to do bad things. When I say "bad," I mean they quickly learn to do things to harm other peoples computers through the web for whatever reason I cannot imagine. Please , when you are learning to program, have respect for the science of programming and use it to help, even if it is just to help yourself. But Please, never use computer programming as a weapon against people, for any reason. The internet is already amok with those types.



Kurgan
Veteran
Veteran

User avatar

Joined: 6 Apr 2012
Age: 35
Gender: Male
Posts: 4,132
Location: Scandinavia

22 Mar 2014, 1:33 pm

khaoz wrote:
It seems like many young people today who learn programming gravitate immediately into using their new knowledge to do bad things. When I say "bad," I mean they quickly learn to do things to harm other peoples computers through the web for whatever reason I cannot imagine. Please , when you are learning to program, have respect for the science of programming and use it to help, even if it is just to help yourself. But Please, never use computer programming as a weapon against people, for any reason. The internet is already amok with those types.


Making a virus that can do significant harm today, is actually very difficult. While anyone can make a virus that's merely annoying, making a virus that can damage your hardware, access your bank account, or anything like that, is almost impossible. No system is completely secure, but because NT based Windows versions do not let anything access the kernel justlike that, have excellent memory protection, and so on, you can always feel safe.

With Linux, it's actually different; since it's open source, with enough C knowledge, you can reverse engineer the security systems, and if you know the root password (something you can find with a keylogger), you can wreck a lot of havock.



AlphaNtu
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 30 Jun 2013
Gender: Female
Posts: 41

22 Mar 2014, 3:17 pm

I'm learning HTML and CSS (finished the Codecademy course) and Javascript. I'm doing two Javascript courses now, one at that previously mentioned site and another via a free (on Amazon Prime) book that's really good. I want to learn one more but I'm not sure, still considering.



sliqua-jcooter
Veteran
Veteran

User avatar

Joined: 25 Jan 2010
Age: 36
Gender: Male
Posts: 1,488
Location: Burke, Virginia, USA

22 Mar 2014, 5:57 pm

Kurgan wrote:
Making a virus that can do significant harm today, is actually very difficult. While anyone can make a virus that's merely annoying, making a virus that can damage your hardware, access your bank account, or anything like that, is almost impossible. No system is completely secure, but because NT based Windows versions do not let anything access the kernel justlike that, have excellent memory protection, and so on, you can always feel safe.

With Linux, it's actually different; since it's open source, with enough C knowledge, you can reverse engineer the security systems, and if you know the root password (something you can find with a keylogger), you can wreck a lot of havock.


Uhh, no. Not even a little bit.

Your first assumption is that the only way to cause harm is to have kernel-level access. Since most of the data a user cares about is in the userland, access to the kernel is completely unnecessary to cause major damage. See: cryptolocker.

Your second assumption is that performing low-level system calls on Windows is hard. It's not. The only thing standing in your way is UAC and some user prompts. Which most users ignore. Or disable.

Finally, you make the argument that NT's security model is more secure because open-source security systems mean it's easier to reverse engineer (with a lot of hand-waving). The fact is it's just the opposite - open source security systems have no barrier to security researchers that want to audit the code.

There are thousands of security research firms looking at all the code they can to try to find and disclose vulnerabilities - having the code available makes that process so much easier, and being able to contribute a patch with a vulnerability disclosure means that issues get fixed in days/weeks, instead of months.


_________________
Nothing posted here should be construed as the opinion or position of my company, or an official position of WrongPlanet in any way, unless specifically mentioned.


wbport
Sea Gull
Sea Gull

User avatar

Joined: 16 Sep 2012
Gender: Male
Posts: 220

23 Mar 2014, 6:44 pm

I have a few dozen pages on my (hobby) website, all (of course) use HTML and most use JavaScript. I tried to copy the whole page, but let's try just the working parts:

Code:
function genPassword(parm) {
  var Characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZOI"
  var PassWord=""
  for (var i=0; i < 8; i++) {
    var rnd = Math.floor(Math.random() * parm) + (parm == 52? 10 : 0) ;
    PassWord = PassWord + Characters.charAt(rnd);
  }
  document.test1.password.value = PassWord;
   if (document.test1.selAll.checked == true) document.test1.password.select();
}


I would use something to uuencode a binary(ish) file for posting, but need something to ask for files showing windows paths and textareas, not positional parameters like DOS or Unix.



PerfectlyDarkTails
Veteran
Veteran

User avatar

Joined: 13 Mar 2012
Age: 36
Gender: Non-binary
Posts: 797
Location: Wales

23 Mar 2014, 6:55 pm

VB.NET and C# was a good start for me as I focused into more visual based programming using development environments, more design rather than code.


_________________
"When you begin to realize your own existence and break out of the social norm, then others know you have completely lost your mind." -PerfectlyDarkTails

AS 168/200, NT: 20/ 200, AQ=45 EQ=15, SQ=78, IQ=135


Kurgan
Veteran
Veteran

User avatar

Joined: 6 Apr 2012
Age: 35
Gender: Male
Posts: 4,132
Location: Scandinavia

23 Mar 2014, 7:01 pm

sliqua-jcooter wrote:

Uhh, no. Not even a little bit.

Your first assumption is that the only way to cause harm is to have kernel-level access. Since most of the data a user cares about is in the userland, access to the kernel is completely unnecessary to cause major damage. See: cryptolocker.


Only the kernel can communicate with the hardware. Plenty of viruses in the past have done way more harm than CryptoLocker (which would be even easier to program for Linux). Viruses like "ILOVEYOU", "Melissa", "sobig", etc. are no longer commonplace, and haven't been since before Windows Vista.

Quote:
Your second assumption is that performing low-level system calls on Windows is hard. It's not. The only thing standing in your way is UAC and some user prompts. Which most users ignore. Or disable.


User prompts which a virus or a worm won't do on it's own. Even if an attacker does get into kernel space, in Windows 8/8.1, a module or driver crash won't usually crash your system. Instead, the module or driver restarts itself, whereas in Linux, you'll get a kernel panic. Simply knowing the root password in a Linux system, makes the attacker omnipotent--and finding the password isn't that hard. Typical ways to do this would be to implement a keylogger or find the salt by bruteforce. The hash algorithm in Linux is no secret; the hashing algorithms of Windows are.

Lastly, just because you access the kernel in Windows, does not mean that you can make it do as you command. The security systems that are present in the Windows 8.1/8/7 kernel, are way more sophisticated than those present in earlier versions, and are very hard to reverse engineer.

Quote:
Finally, you make the argument that NT's security model is more secure because open-source security systems mean it's easier to reverse engineer (with a lot of hand-waving). The fact is it's just the opposite - open source security systems have no barrier to security researchers that want to audit the code.


Actually, frequent updates take care of this problem in Windows, and you can't reverse engineer them simply by using VIM or Nano.

Quote:
There are thousands of security research firms looking at all the code they can to try to find and disclose vulnerabilities - having the code available makes that process so much easier, and being able to contribute a patch with a vulnerability disclosure means that issues get fixed in days/weeks, instead of months.


Microsoft, Google, and Facebook actually pay professionals to do this. For comparison, the infamous buffer overflow vulnerability in Ubuntu, wasn't discovered until 2009, because noone bothered to check it out.



polarity
Veteran
Veteran

User avatar

Joined: 15 Feb 2006
Age: 46
Gender: Male
Posts: 502
Location: PEBKAC

23 Mar 2014, 7:49 pm

This is a thread about programming languages, not somewhere to have yet another argument about which OS is best.



For someone who's starting out in programming I'd highly recommend Lua, because of its simple syntax, lack of many of the complexities that are present in so many other languages (I personally haven't seen such an easily comprehensible language since BASIC), and because it is becoming very popular as an embedded scripting language, due to the small size of its distribution, portability to any platform with a C compiler, and its tight integration with C code.

You'll find it used in the interface of may games that support user addons, such as WoW, Rift, and the upcoming Wildstar. It's also used in CryEngine and for the Corona mobile app development platform. It can also be used as a scripting language for web development (like there aren't enough of those already, I've used Javascript, Perl, Python and PHP myself, but I'm going to be installing Lua on my new nginx web server to play around with).

And then there's more on the far from comprehensive list at http://en.wikipedia.org/wiki/Lua_%28programming_language%29#Applications


_________________
You aren't thinking or really existing unless you're willing to risk even your own sanity in the judgment of your existence.


sliqua-jcooter
Veteran
Veteran

User avatar

Joined: 25 Jan 2010
Age: 36
Gender: Male
Posts: 1,488
Location: Burke, Virginia, USA

24 Mar 2014, 5:48 am

Kurgan wrote:
Only the kernel can communicate with the hardware. Plenty of viruses in the past have done way more harm than CryptoLocker (which would be even easier to program for Linux). Viruses like "ILOVEYOU", "Melissa", "sobig", etc. are no longer commonplace, and haven't been since before Windows Vista.


The valuable part of a computer is the data that lives on it, not the hardware. The user doesn't care if a virus trashes their OS install, but they absolutely do care if their data is irretrievably gone. Your argument that an application can only do harm if it has access to the hardware is completely invalid.

Quote:
Even if an attacker does get into kernel space, in Windows 8/8.1, a module or driver crash won't usually crash your system. Instead, the module or driver restarts itself, whereas in Linux, you'll get a kernel panic.
Not true - kernel modules in linux have the exact same resiliency in linux as they do in windows.

Quote:
Simply knowing the root password in a Linux system, makes the attacker omnipotent
Linux has had mechanisms to defend this type of access for a lot longer than Windows has had UAC - and it works better. I could give you the root password on my system, let you login - and you wouldn't be able to execute any binaries or look at any files.

Quote:
The hash algorithm in Linux is no secret; the hashing algorithms of Windows are.
You mean NTLMv2 in the SAM? Or perhaps you're referring to the AES-256 hash used in the Active Directory LDAP directory. Give me a break.

Quote:
Actually, frequent updates take care of this problem in Windows, and you can't reverse engineer them simply by using VIM or Nano.


That's exactly the problem. Because only Microsoft can do security audits of their code, no one has any idea whether there are holes in it or not. And if someone does find and disclose a vulnerability - everyone is left waiting for Microsoft to write and release a patch. A security vulnerability disclosure for Linux almost always includes a patch - so someone wanting to patch a vulnerability on their system can pretty much do it immediately.

Quote:
For comparison, the infamous buffer overflow vulnerability in Ubuntu, wasn't discovered until 2009, because noone bothered to check it out.


And then someone did, and a patch was released within hours. If any issue like that existed in Windows, no one would know until someone happened to trip over it.


_________________
Nothing posted here should be construed as the opinion or position of my company, or an official position of WrongPlanet in any way, unless specifically mentioned.


Kurgan
Veteran
Veteran

User avatar

Joined: 6 Apr 2012
Age: 35
Gender: Male
Posts: 4,132
Location: Scandinavia

24 Mar 2014, 9:52 am

sliqua-jcooter wrote:
The valuable part of a computer is the data that lives on it, not the hardware.


To bad the root user in Linux has access to that as well. Most viruses aimed at private workstations, are just to annoy; and accessing the hardware would be a typical way to do so. The root user also has access to all files stored in the user-space, and can set both ownership and permissions.

Furthermore, since Linux doesn't care about file extensions, you can put malicious code in anything.

Quote:
The user doesn't care if a virus trashes their OS install, but they absolutely do care if their data is irretrievably gone. Your argument that an application can only do harm if it has access to the hardware is completely invalid.

Linux has had mechanisms to defend this type of access for a lot longer than Windows has had UAC - and it works better. I could give you the root password on my system, let you login - and you wouldn't be able to execute any binaries or look at any files.


If I get your password, I can just use chown and chmod and access these binaries anyway (or I could program something with the help of GCC/G++ which would do it for me). Most NT based Windows versions have had UAC.

Quote:
You mean NTLMv2 in the SAM? Or perhaps you're referring to the AES-256 hash used in the Active Directory LDAP directory. Give me a break.


NTLM is no longer used (because when someone actually does manage to reverse engineer a security system by Microsoft, it's either phased out or heavily modified). The security holes in SAM were filled after Windows 2000. For comparison, if I want your root password, I just need to decrypt what's inside etc/shadow. AES is developed by professional cryptographers and is a government approved standard.

You don't seriously believe that the billions Microsoft and Apple have spent on security are just for lulz?

Quote:
That's exactly the problem. Because only Microsoft can do security audits of their code, no one has any idea whether there are holes in it or not.


That's what hackers are paid to do.

Quote:
And if someone does find and disclose a vulnerability - everyone is left waiting for Microsoft to write and release a patch.


The security holes are typically fixed within hours, and the system will automatically download the update the next day.

Quote:
A security vulnerability disclosure for Linux almost always includes a patch - so someone wanting to patch a vulnerability on their system can pretty much do it immediately.

And then someone did, and a patch was released within hours. If any issue like that existed in Windows, no one would know until someone happened to trip over it.


After a series of buffer overflow attacks, that is.