• Lucid Dreaming - Dream Views




    Page 1 of 2 1 2 LastLast
    Results 1 to 25 of 28
    1. #1
      TPV ThePhobiaViewed's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Somewhere Out There
      Posts
      816
      Likes
      0

      Learning about computer science/programming

      I am a senior in high school and for the longest time I had no idea what I wanted to major in in college (university for you non US-ers).

      I have recently been considering getting into computer science of some sort. I have always liked using computers and I had 2 Visual BASIC classes in school a few years back that I liked and have made some simple programs on TI calculators using TI-BASIC.

      I really like the concept of hacking (not cracking, i mean only for legal purposes). I got a copy of the magazine "2600" and found it really interesting. I guess I like the whole concept of analyzing the situation and trying to exploit weaknesses, its like a logic puzzle.

      I just have a few questions that maybe some of you highly skilled computer experts can answer.

      What kind of advice do you have for someone like me interested in having a career with computers?

      I am thinking about getting a cheap computer to run just linux on so I can learn to program and better understand computers. Any advice on getting started with linux? I read that Slackware is very intensive on using programming. Would it be good to use something like that or to get started with a more user friendly version of linux?

      What languages would be useful to learn? I have recently looked into some html and java. I have heard a lot about python too. Even if I don't make a career out of this I am still interested in learning about it all.

      Any advice is greatly appreciated.

    2. #2
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      Figure out what you want to do with it, computer science is a big field. Graphics, web dev, app dev, QA...

      Linux can run on any computer. Computers can run more than one operating system using Grub or Boot Camp and using Parallels you can run them at the same time. You can try it on your current computer. Most colleges don't use Linux for comp sci. The ones in PA that my friends and I have gone to are either Solaris or Mac.

      Java would be useful to learn because it's object oriented and you don't have to worry about pointers or garbage collection, which is really complicated. C is also a good on because it's low level and procedural.

    3. #3
      TPV ThePhobiaViewed's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Somewhere Out There
      Posts
      816
      Likes
      0
      Thanks ninja

      Would i have to decide what aspect I want to get into early on or is it more of a generalized major?

      The computer I am using now barely runs because its over 4 years old i'd say and has too much crap on it and all kinds of things running at startup and running in the background etc. I was thinking either get a really cheap computer (maybe around $400) and just experiment with linux on it or I could spend a little more and try to run both XP and linux.

      I am mainly interested in using linux just to better understand how it works and because it is something new for me to try, not necessarily to use as an OS to do all my normal stuff such as email, internet, recording music, etc.

      I am right by Lycoming College in Williamsport, PA and that has been one of my main considerations for a college but it seems that they only have computer science as a minor now so if I go there I would have to major in something else. Going to Lyco would allow me to live at home where all my music and recording stuff is which would be nice to have, but if I have to I could live on campus somewhere else.

    4. #4
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      You could always spend a year or two at Lycoming College, then transfer to a state university. You won't be able to get a job in comp sci with a minor in it. It'll be a few years before you can choose a speciality anyway, the core courses are all the same.
      Last edited by ninja9578; 10-23-2008 at 03:01 AM.

    5. #5
      Banned
      Join Date
      Jun 2008
      Posts
      330
      Likes
      2
      You're gonna have to learn a good programming language - Visual Basic is going to get you laughed at in a lot of places. C++ is good to start with. Python is OK but you won't be able to compile without a utility, and even then the .exe is very large. Also bear in mind that your Python programs will be slower than their C++ equivalents. Weigh that over before choosing.

    6. #6
      TPV ThePhobiaViewed's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Somewhere Out There
      Posts
      816
      Likes
      0
      Thanks for the comments

      i know that visual basic isn't going to get me anywhere it's just what the class i took happened to be based around.

      Can someone explain what the real difference is between C and C++ and also how visual C++ is related. Which would be good to learn as a first language or should I try something completely different. thanks

    7. #7
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      C & C++ are separate languages, however they are very similar (C++ started out as a extension of C)

      you may want to read this thread
      http://www.dreamviews.com/community/...ad.php?t=51395

    8. #8
      TPV ThePhobiaViewed's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Somewhere Out There
      Posts
      816
      Likes
      0
      Thanks Ynot

      I actually remember reading through that thread when it was active and i forgot about it, ill give it another look.

      Anyone else have any opinions on linux?

    9. #9
      Banned
      Join Date
      Jun 2008
      Posts
      330
      Likes
      2
      C++ has objects, which are complex data types (as opposed to primitive data types like integers) that can store other data types, and functions to use on those data types.

      For instance, a zombie in a Doom game. The zombie object stores x, y coordinates, health, etc.

      Some people think C++ does a bad job implementing object-oriented programming, saying that it's messy and so on. If you think you'll need objects, though, learn C++. I can tell you that if you're not using objects for anything complex, it won't be messy.

      Some people also say that C++ is bad as a beginner language, but I learned it as my own first language and I can tell you from my own experience that it is an excellent choice.

      I'm not sure about Visual C++, you'd have to do more research on it.

      Edit: learning how to use Linux can give you a very important advantage over the competition. When I went to work with professors in college, as a high school student, a lot of them used Linux, and I was out of the loop. Learn it if you think you need to.

    10. #10
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Quote Originally Posted by ThePhobiaViewed View Post
      Anyone else have any opinions on linux?
      lots

      what specifically do you want to know?

    11. #11
      TPV ThePhobiaViewed's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Somewhere Out There
      Posts
      816
      Likes
      0
      If i buy a new computer should i spend a little more for one that can run both windows and linux or just go with a cheap one to just run linux. The most I can spend would prob be around $500. Also is it possible to screw up windows by messing around in linux.

      What kind of linux would be best to get started with? I've heard Slackware is programming intensive which would help me learn but maybe it would be better to use something more user friendly at first. Can you run more than 1 kind of linux on a computer at the same time?

      How hard is it to get set up for the internet using linux and would i be able to use AIM? I'd prob have to get the connection from a wireless Linksys router, is there a way to do that using linux?

      Sorry for all the questions I'm just trying to figure all this out. thanks guys

    12. #12
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      well, I'm an Ubuntu fanboi, so I'd recommend that (especially if you've never run linux before)

      I've never understood the whole this-distro-for-this, this-distro-for-that mentality
      some ship with different desktop environments, some use different package formats
      but frankly, they're all much the same

      Ubuntu will get you up and running inside half an hour

      Ubuntu min specs are here
      https://help.ubuntu.com/8.04/install...are-reqts.html
      as you can see, the recommended specs are 512Mb Ram, with 5Gb of storage space
      basically, any desktop machine you buy will meet this no problem

      Just a few points....

      - I personally would recommend an nVidia graphics card over AMD (ATI)

      - I would just make sure (quick google) that the wireless card in the machine is ok under linux (the vast majority are, however there's the odd one - broadcom based wireless cards can be an issue - that may not work instantly out the box)

      Also is it possible to screw up windows by messing around in linux?
      Short answer is no
      long answer is, yes you can, but you'd have to really try - there's next to no chance of you messing up windows unintentionally

      Can you run more than 1 kind of linux on a computer at the same time?
      Yes, using something like virtualbox

      How hard is it to set up the internet?
      dead easy
      it should just work (bar the odd problem with wireless cards, as above)
      if your wireless is encrypted, make sure you know the key / pass-phrase

    13. #13
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      Quote Originally Posted by Ynot View Post
      Also is it possible to screw up windows by messing around in linux?
      Short answer is no
      long answer is, yes you can, but you'd have to really try - there's next to no chance of you messing up windows unintentionally
      Just make sure that you know what you are doing when installing. Installing Linux requires repartitioning the hard drive.

    14. #14
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Quote Originally Posted by ninja9578 View Post
      Just make sure that you know what you are doing when installing. Installing Linux requires repartitioning the hard drive.
      there's a nice little GUI in the ubuntu installer that deals with this

      it'll deal with resizing your windows partition (if you're using a single disk) for you

    15. #15
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      Yeah, but you can accidentally delete the partition too.

    16. #16
      The Nihilist MrDoom's Avatar
      Join Date
      Apr 2008
      Gender
      Location
      U$A
      Posts
      187
      Likes
      0
      I'm an aspiring CS student as well (though I'm interested in the AI field). Good luck!
      Truths are material, like vegetables and weeds; as to whether vegetable or weed, the decision lies in me.
      --Max Stirner

    17. #17
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      I've consider myself somewhat of an expert on AI, it's fun. For that you want C++. You want the speed of C libraries but the ease of use of object oriented programming.

      C++ isn't a language for beginners though. It's easy to find memory leaks and such. Learn C to learn program flow, Java for OOP. Then put your knowledge together and learn C++.
      Last edited by ninja9578; 10-31-2008 at 01:35 AM.

    18. #18
      Ní mar a síltear a bítear Achievements:
      Created Dream Journal Made lots of Friends on DV 1000 Hall Points Referrer Bronze Tagger First Class Veteran First Class
      Seanchaidh's Avatar
      Join Date
      Sep 2008
      LD Count
      All of mine are
      Gender
      Location
      The Sidhe Mounds :D
      Posts
      446
      Likes
      12
      DJ Entries
      3
      C++ isn't a language for beginners though. It's easy to find memory leaks and such. Learn C to learn program flow, Java for OOP. Then put your knowledge together and learn C++.
      Although it is true what ninja9578 has said here (and I have no doubt she knows a lot more about computers than I do), I wouldn't necessarily learn C first as this is a procedural programming language (whereas C++ is object-orientated albeit it does support procedural programming) and if you learn this before C++, by the time it comes to studying C++ you'll have to unlearn lots of bad habits characteristic of C.

      Crisdean score: 6277 (35% abilities)

    19. #19
      Banned
      Join Date
      Jun 2008
      Posts
      330
      Likes
      2
      Quote Originally Posted by Subaru View Post
      and if you learn this before C++, by the time it comes to studying C++ you'll have to unlearn lots of bad habits characteristic of C.
      like what? (you should elaborate, and maybe I'll agree..)

    20. #20
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Arrays !!!!
      (\_ _/)
      (='.'=)
      (")_(")

    21. #21
      dsr
      dsr is offline
      我是老外,可是我會說一點中文。
      Join Date
      Nov 2006
      Gender
      Location
      my mind
      Posts
      374
      Likes
      1
      Quote Originally Posted by Subaru View Post
      she
      ninja9578 is a he.

      C and C++ are very different languages, despite the fact that most valid C code is also valid C++ code. The core C language is much more compact and easy to keep in your head. In order to use C++ effectively, you need a lot more exposure to the language. See here. The fact that C++ supports the OOP paradigm should not be a reason for beginners to learn it over C. Neither language is good for novice programmers, but C++ is certainly not. Higher level languages like Python and Ruby are far better learning tools and have OOP well integrated rather than a seeming afterthought built atop a procedural language so as to keep backward compatibility that was useful for 80s programmers.

    22. #22
      Banned
      Join Date
      Jun 2008
      Posts
      330
      Likes
      2
      Quote Originally Posted by Ynot View Post
      Arrays !!!!
      Oh, by "bad habits" he meant arrays and pointers? Makes sense.

    23. #23
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      I like arrays ... only with C though, I use real containers for C++.

    24. #24
      Ní mar a síltear a bítear Achievements:
      Created Dream Journal Made lots of Friends on DV 1000 Hall Points Referrer Bronze Tagger First Class Veteran First Class
      Seanchaidh's Avatar
      Join Date
      Sep 2008
      LD Count
      All of mine are
      Gender
      Location
      The Sidhe Mounds :D
      Posts
      446
      Likes
      12
      DJ Entries
      3
      Sorry ninja for thinking you're a girl.

      Anyway, there are a few things wrong with C programming like weak typing (characters can be used as integers) also C programming tends to focus more on the functions rather than the objects. There is also a lack of infix operators for complex models.

      Crisdean score: 6277 (35% abilities)

    25. #25
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      GCC will allow you to do weak typing, but it will give you a warning to warn you of that. Sometimes you want to be able to do that, and only C lets you.

    Page 1 of 2 1 2 LastLast

    Bookmarks

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •