Jump to content


Photo

New Programming Language

computer science

  • Please log in to reply
13 replies to this topic

#1 d0es_n0t_c0mpute

d0es_n0t_c0mpute

    Apprentice

  • Quark
  • 107 posts

Posted 16 December 2014 - 01:07 PM

I just started my freshman year going for a bachelors in Computer Science and I just finished my first computer programming class that taught the basic ideas of computer programming such as loops, functions, file IO etc by  using Python.  However now that I have the basic ideas down I'm wondering what you guys think would be a good language to really start on and learn that would benefit me most going for my degree.

 

BTW I intend on focusing more on computer security.



#2 .:Cyb3rGlitch:.

.:Cyb3rGlitch:.

    Hero

  • Mod
  • 21,368 posts

Posted 16 December 2014 - 01:30 PM

Computer security is quite broad, so it depends what you're after. I can tell you what languages were involved when I took a security course at UNSW. It included x86 assembly, C, SQL, and Java. Assembly for reverse engineering, C for exploitable memory bugs, SQL for injection attacks, and Java for sloppy development in general.

 

Knowing your way around Unix based OSes, and understanding how common network protocols function (particularly HTTP) helps too.

 

But don't focus on the languages so much, it's about the security concepts in general. You'll pick up the languages as you gain experience.


"We are a way for the cosmos to know itself." - Carl Sagan
"I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it." - Mark Twain
 
An open mind is willing to consider new ideas, while provisionally accepting those backed by empirical evidence, and provisionally rejecting those without.


#3 Charcoal

Charcoal

    Guru

  • Hero
  • 14,088 posts

Posted 16 December 2014 - 01:51 PM

But don't focus on the languages so much, it's about the security concepts in general. You'll pick up the languages as you gain experience.

That's the best advice.

 

The next best would be to jump around a few different languages when you have some spare time.
Which languages depend on what you want to learn, though.

 

You say you want to focus on security. To me that means more along the lines of knowing how to admin hardware, rather than actual programming.

If that's true, then sticking with languages that help you automate tasks might be best...


I<3G
Kikz: Good for you, your sig says something. whoop-de-do dude.
-=-=-=-=-=-=-=-=-=-
AzpUvwG.png@Charcoal|

#4 Powermaniac

Powermaniac

    Journeyman

  • Atomican
  • 128 posts
  • Location:South Australia

Posted 16 December 2014 - 08:14 PM

I suggest looking into what you will be learning in your next course (I'm going to guess it will be Java), so you can get a headstart. You should be able to find it on your university's website under the course structure and look up the next course you need to do. If it doesn't mention which language in the description a quick giveaway is the book they recommend/require you to have, usually that has the name of the language in the title. Or you can Google the book and look up what is in it on like Amazon or whatever.

 

Currently studying Computer Science myself at university, also a first year.


Edited by Powermaniac, 16 December 2014 - 08:16 PM.


#5 d0es_n0t_c0mpute

d0es_n0t_c0mpute

    Apprentice

  • Quark
  • 107 posts

Posted 17 December 2014 - 12:04 PM

Powermaniac-You're right, I'll be taking java in a couple of weeks. And when I say computer security I'm talking more along the lines of pentesting, essentially being a white hat hacker. CyberGlitch-I appreciate the information, although I'm a little confused about how I would go about picking up the code. Is that something that is generally taught on the side along with the security concepts? I'm just trying to get a good idea for what to expect.



#6 .:Cyb3rGlitch:.

.:Cyb3rGlitch:.

    Hero

  • Mod
  • 21,368 posts

Posted 17 December 2014 - 12:30 PM

Powermaniac-You're right, I'll be taking java in a couple of weeks. And when I say computer security I'm talking more along the lines of pentesting, essentially being a white hat hacker. CyberGlitch-I appreciate the information, although I'm a little confused about how I would go about picking up the code. Is that something that is generally taught on the side along with the security concepts? I'm just trying to get a good idea for what to expect.


The x86 was quickly taught during the course, but usually you have to learn languages in your own time. At UNSW you're taught C, Java and AVR assembly in the core subjects. But IMO, you should seek out the security courses offered at your uni and read up on what they expect.

Not many universities have hands on security courses like UNSW, so you may find yourself doing only theory anyway.

"We are a way for the cosmos to know itself." - Carl Sagan
"I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it." - Mark Twain
 
An open mind is willing to consider new ideas, while provisionally accepting those backed by empirical evidence, and provisionally rejecting those without.


#7 d0es_n0t_c0mpute

d0es_n0t_c0mpute

    Apprentice

  • Quark
  • 107 posts

Posted 17 December 2014 - 12:51 PM

Okay that makes sense. That kind of sucks universities don't offer hands on experience in the security courses though. How hard was assembly to pick up?



#8 .:Cyb3rGlitch:.

.:Cyb3rGlitch:.

    Hero

  • Mod
  • 21,368 posts

Posted 17 December 2014 - 12:57 PM

It can be difficult to read/write because there's little abstraction and no syntactic sugar. However it's just a sequential execution of instructions like any other procedural language. If you're into pentesting then you probably won't need to know assembly languages anyway. It's usually used for reverse engineering.

Edited by .:Cyb3rGlitch:., 17 December 2014 - 12:57 PM.

"We are a way for the cosmos to know itself." - Carl Sagan
"I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it." - Mark Twain
 
An open mind is willing to consider new ideas, while provisionally accepting those backed by empirical evidence, and provisionally rejecting those without.


#9 Charcoal

Charcoal

    Guru

  • Hero
  • 14,088 posts

Posted 17 December 2014 - 03:00 PM

And when I say computer security I'm talking more along the lines of pentesting, essentially being a white hat hacker.

Yep, I'll reiterate on my suggestion of languages for automating then; deep dive into python (that's big in *nix environment for automation isn't it?) and then round it out with Java, for if you ever need to make somethign a bit more substantial.
IMO, programming will be a (very useful) tangent to you main study.


I<3G
Kikz: Good for you, your sig says something. whoop-de-do dude.
-=-=-=-=-=-=-=-=-=-
AzpUvwG.png@Charcoal|

#10 d0es_n0t_c0mpute

d0es_n0t_c0mpute

    Apprentice

  • Quark
  • 107 posts

Posted 18 December 2014 - 12:42 PM

Charcoal-Thank you for the information. Luckily for me I've started learning Python in my intro to programming class and I'll be taking Java with an emphasis on object orientation next semester.

 

Cyb3rGlitch-Wouldn't I need to know assembly for debugging and disassembling programs to look for vulnerabilities?



#11 Girvo

Girvo

    Titan

  • Hero
  • 20,609 posts

Posted 19 December 2014 - 05:17 PM

Learn Ruby.

 

If you're going into Security, you'll want to learn Metasploit, and it's modules are Ruby :)

 

Aside from that you'll need to understand C enough to exploit it. Other than that, a lot of security guys I know are adoring Go for writing binaries for various things.


brains: NO U R RONG N00B VISTA IS 4 N00BZ N LINUX IS HIPPIE SHIT

#12 Cybes

Cybes

    Titan

  • Atomican
  • 18,055 posts
  • Location:Where I am

Posted 28 December 2014 - 06:10 PM

http://www.xent.com/...219/044101.html
 

And then there's Haskell...

Haskell is like "that girl." You know the one...

You never really went steady, but you'd run into her from time to time while knocking around in disreputable joints, usually late at night, every several months or so. She looked so hot, so sleek, so sexy, so expressive, so exotic. You'd end up back at her place and the night would just... take off. A complete blur of hot, sweaty, feverish, delirious, fumbling passion. You'd do things to each other... you'd do things to her, she'd do things to you... things that you're not even sure have names, that you're pretty sure are illegal almost anywhere. Even her kinks have kinks --- and after one of these nights, you'd realize that you yourself had a lot more kinks than you. And it wasn't just physical, it was --- cerebral. Ethereal. Transcendent. But it would all whiz by in a blur, and by morning you'd find yourself lightheaded, a bit confused, and stumbling homeward to your regular gal...

More at link

(posted for humour, but... you could do worse.)


"Reality does not care what you think." - Dr Richard Feynman
"There is no "I" in team." - "True.  I will not be found in any team."


#13 .:Cyb3rGlitch:.

.:Cyb3rGlitch:.

    Hero

  • Mod
  • 21,368 posts

Posted 28 December 2014 - 08:42 PM

gyU0me4.png


"We are a way for the cosmos to know itself." - Carl Sagan
"I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it." - Mark Twain
 
An open mind is willing to consider new ideas, while provisionally accepting those backed by empirical evidence, and provisionally rejecting those without.


#14 Cybes

Cybes

    Titan

  • Atomican
  • 18,055 posts
  • Location:Where I am

Posted 28 December 2014 - 11:39 PM

Heh - Cyb3r reads the same subs I do. ;)


"Reality does not care what you think." - Dr Richard Feynman
"There is no "I" in team." - "True.  I will not be found in any team."





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users