computer science languages

Discussion in 'Tech Discussion' started by henrywolf123, Mar 22, 2017.

  1. faraonj

    faraonj Active Member

    Joined:
    Nov 29, 2015
    Messages:
    85
    Likes Received:
    57
    Reading List:
    Link
    I would just do C++ man, Its not too complicated in syntax and its a good language to learn if you really want to understand data structures.

    https://docs.google.com/file/d/0B8pig2KdTaOBNl9zXzVqYnkxc28/edit

    Go download this and read it, its a book on C++. Another thing, i wouldn't shoot too far for trying to do projects, basics is the way to go. With any kind of project to do you need be comfortable to a certain amount with the subject and work at hand so if your still shaky on that stuff than go back and relearn it.
     
  2. FatalStrings

    FatalStrings Well-Known Member

    Joined:
    Dec 5, 2015
    Messages:
    103
    Likes Received:
    49
    Reading List:
    Link
    I suggest you watch crash Course whenever you find the time.
    they just started a series in Computer Science, but the also have other subjects like world history and economics

    Edit :
     
  3. Silverasterisk

    Silverasterisk Well-Known Member

    Joined:
    Mar 25, 2016
    Messages:
    346
    Likes Received:
    196
    Reading List:
    Link
    Have you learned nothing from the novels on this site? Seek out the greater forms of power closest to the origin of all others. Learn machine language. We're rooting for you and your ascension to a higher power.
     
  4. SublimeWay

    SublimeWay Well-Known Member

    Joined:
    Mar 24, 2016
    Messages:
    200
    Likes Received:
    112
    Reading List:
    Link
    What are you building in Unity?

    I've been really into the VR space so I've been trying to learn Unity in the last couple of month. As a learning exercise I've built an app that's about 90% feature complete before my motivation tanked, and I became distracted by other things like learning Blender or making 3D video.

    Have you made much use of the asset store? I've become fixated on it resulting in a large collection of rather mismatched models, effects, audio, etc. Maybe it's better to sell picks and shovels than to mine for gold.
     
  5. R0

    R0 Oni

    Joined:
    Oct 25, 2016
    Messages:
    7,718
    Likes Received:
    12,241
    Reading List:
    Link
    Thenewboston on YouTube is one hell of a cool dude if you want to learn stuffs for free.
     
  6. TUSF

    TUSF Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    197
    Likes Received:
    117
    Reading List:
    Link
    1. This all depends on what you intend to do with the language; each language has its strong sides and weak sides after all. What sort of applications do you see yourself working on?
    If you want to gain a grasp on the concepts of computer programming, I would suggest learning C, Python and possibly Javascript, as it is currently very ubiquitous. Golang is also a comparatively new language with a lot of growth, that's said to be very easy to learn.
    For web applications, I would suggest learning HTML, Javascript/Node, and maybe Golang. HTML you probably already know is a mark-up language (describes how a "document"/webpage looks), and Javascript is the true programming language of the internet. With Node you can also program webservers and webpages with the same language (Javascript), so that's a plus. As a side-note, Javascript and Java are unrelated, other than the name.
    However if you want to work on random projects, now-a-days the only people who use Java regularly are people who develop Android apps, and people who maintain giant platforms eons old that will be tough to get into—usually owned by private companies, instead of being open source on Github. Java has largely fallen out of favor, and arguably one of the few reasons it's still around is because of Android, and because it had such a big boom in the 90s so we still need people to maintain legacy code.
    Learning a new language like Golang or Rust could probably be good if you want to join less developed or smaller projects, but Javascript is also popular these days, because "The Web" has become its own platform.

    2. After you get a handle on the basics, the only thing left is to understand the subtleties of the language you use. How each language handles data types, how truthiness is calculated, what each keyword does, ect. After that It's getting a handle on how you use these details together.

    3. https://github.com/lk-geimfari/awesomo <— HUGE list of Open Source projects in various languages people can get into.
     
  7. henrywolf123

    henrywolf123 『<(-.-<) kriby master』

    Joined:
    Jul 18, 2016
    Messages:
    468
    Likes Received:
    414
    Reading List:
    Link
    thats because i have changed the question each time, it went from what do i do, to i think i will do this, and each round people continously help me refine my plan.
     
  8. FatalStrings

    FatalStrings Well-Known Member

    Joined:
    Dec 5, 2015
    Messages:
    103
    Likes Received:
    49
    Reading List:
    Link
    I'm just an amateur, though I am more inclined in programming that in 3d modeling.
    I am just making generic shit like tic tac toe.
    right now I am trying to make an all purpose AI. and I'm also starting to lose motivation LOL
     
  9. henrywolf123

    henrywolf123 『<(-.-<) kriby master』

    Joined:
    Jul 18, 2016
    Messages:
    468
    Likes Received:
    414
    Reading List:
    Link
    I will absolutely learn the dao of machine language, and gain the ability to talk to technology around me. When i do i will write a book and you will be a character in it.
     
  10. Randyr

    Randyr Member

    Joined:
    Jun 21, 2016
    Messages:
    9
    Likes Received:
    17
    Reading List:
    Link
    Although it's nice to learn many languages, it doesn't add much value. Rather than that learn more about the basics such as data structures, commonly used algorithms, etc. Then find something you love to program (websites? os-related stuff?) and learn that. When it comes to careers, domain knowledge is pretty important.

    When it comes to languages: pick one you like to work with and doesn't make you wanna strangle yourself and get good at it. Some other things that might be important / handy to learn:
    - Git for team-oriented programming. see git-scm(.)com for docs
    - Linux (for development if you like it, or simply for knowledge about deployment and stuff)
    - Commonly used design patterns
    - Maybe pick a framework or two in the language/domain that you like (e.g. Django for Python web dev)
    Cant think of anything else for now.

    EDIT
    Right - Machine learning is becoming huge as well. Mostly done in Python (TensorFlow and others).
     
  11. Silverasterisk

    Silverasterisk Well-Known Member

    Joined:
    Mar 25, 2016
    Messages:
    346
    Likes Received:
    196
    Reading List:
    Link
    Give me a cleft chin. Everyone loves the cleft chin.
     
    henrywolf123 likes this.
  12. justmehere

    justmehere Well-Known Member

    Joined:
    Nov 2, 2015
    Messages:
    1,865
    Likes Received:
    1,621
    Reading List:
    Link
    It is really hard to say to you what to learn until you have your own experiences.

    The best thing you can do right now is to start a project. Either working as a programming grunt for someone, or just to start an independent project that someone needs, any work will do.

    Data structure would only show up once you know what the requirement is. There are Queues, Stacks, Arrays, data set and God knows what else. Any College Courses will only introduce you to them, but experience will determine how well you can use them in your projects.

    Value your programming experience above anything right now. That would include money. Be prepared to work for free if someone would mentor you. Once you find out what you want to do as a living, you will know what language you have to learn.

    If you are totally lost right now, try to build an android app. That seems to be the future right now.
     
  13. Reimaru

    Reimaru Active Member

    Joined:
    Nov 20, 2015
    Messages:
    61
    Likes Received:
    23
    Reading List:
    Link
    To be honest, programming is less of the language and more of an understanding. Learning and understanding the way to write the computer codes in any language without an editor would be ideal, and after you have understood the flow of the computer coding, then any other language would be easy to learn, code and understand with the help of Google. Learning too many languages at the same time without a strong foundation would make it more complicated and confusing to you. I started learning to code HTML, SQL & C++ and after learning & understanding the core basics of coding, any languages that came after it is easy for me, i.e. Java, PHP, Visual Studio .Net, C, C#, Ruby, Labview, etc...

    It's like the dao, gaining enlightenment in any of the weapon DAO; like sword, saber, spear, etc...; would in the end let you gain enlightenment in the Weapon Dao.
     
  14. EienMugetsuTensho

    EienMugetsuTensho [Avid Reader] [C# & C++ Programmer]

    Joined:
    Nov 9, 2015
    Messages:
    633
    Likes Received:
    471
    Reading List:
    Link
    Learn C/C++ if you want to know how a computer operates, it will teach you a lot (memory, efficiency, and references/pointers). If you know java you should learn C# it is very similar. I prefer C# because it is less verbose and the features built into the language like default parameters. C++ and C# can be used together when you get more advanced skills. You make a .dll in C++ and use it in C# this allows you to increase some operation speeds. SQL works well with C# because of Entity Framework.

    For web design, you want HMTL, CSS, JavaScript, Jquery, Angular, and Node.js

    If you ever want to make a game you need
    C++ (Unreal and AAA studios), C# (Unity and Indie Studios), or JS (Web Games and Unity)

    EDIT: For learning programming data structures and algorithms, MIT has a free course
    https://ocw.mit.edu/courses/electri...ction-to-algorithms-fall-2011/lecture-videos/
     
    Last edited: Mar 22, 2017
  15. blackhawkrider

    blackhawkrider Well-Known Member

    Joined:
    Apr 16, 2016
    Messages:
    122
    Likes Received:
    56
    Reading List:
    Link
    1) To be honest, what you have studied so far is pretty much what is used in most companies these days. What I will suggest to you is to focus on Unix/Scripting, Sql (MySql or Oracle), and web development (JSF Frameworks, HTML5, JavaScript frameworks, etc..). Learning the basic in everything is a great start but rather than being a jack of all trades and master of none, you should focus on mastering Java, Scripting (Unix), and Sql/PLSql. If you can master these subjects, then there will be many companies looking to hire you.

    2) Regarding data structures, it is better to study more on that subject; however, what you learned so far is probably enough to let you understand the code flow. If you are troubled by some of the java projects in github, then you should study more on the topic of object oriented design and Java itself. When you look at a existing code base as a whole, then of course it will be difficult to understand some big projects on github. Try to focus on searching for the starting point and follow the code from there. Understand the structure of the project and the purpose for it. Study up on JUnit Testing and practice it. What you are lacking as of the moment is experience. Also, the basic you covered in the "Computer science course" only teaches you the fundamental knowledge of coding. Don't rely on your classes and take the initiative to study more than the basics.

    3) To practice on theoretical and practical aspect of coding, try solving all the problems given in this website: https://code.google.com/codejam/ . Everything you see in this website will help build your skills in general coding. Once you get used to it, you should try competing in it to gain more experience.

    4) In a computer science degree, all schools approach it differently. However, based on my understanding, most computer science courses start out with two basic programming (ex: Java, C++, Unix,etc.. the basic programming courses varies with each University/College) course and then you need to take elective courses which is required by most, if not all, degrees. To understand the basics of coding for either Java or C++, I recommend these two resources: http://www.cplusplus.com/ (for C++) and Pearson Java Foundation (for Java). To be honest, there is no specific resources such as book/website that will best teach you coding. However, TutorialPoint (https://www.tutorialspoint.com/) is probably enough to help you get started but the rest is on your own. If you can understand pseudo coding, program designing (structural programming), and data structures, then the rest of the job is to simply learn the syntax associated with the language. If you can pseudo code and turn it into a real code, then you already have the foundation for coding in any language regardless of whether it is a high level language or machine language.

    To be honest, what language you decide to choose is based on what type of developer you want to be. Software development can basically break down into two categories: General and Specialized. Specialized software developer is a path where you focus only on languages related to your future career path. For example, a game developer will study up on languages more associated with gaming and a web developer will study up on languages associated with web development. A general software developer is more associated in "general" category of coding; basically a jack of all trades in software development. If you choose general, then I would suggest mastering Java, C++, HTML5, JavaScript, and SQL/PLSQL. These are the basic software language that most companies are looking for. Never stop learning new technologies and never stop studying what you already know.

    I am not sure what an AP course like "Computer science AB" offers but it probably only teaches you what you will learn in "Introduction to Programming" courses in universities. If you are truly wanting to major in Computer Science, then first think of what path you want to go on and study the relationship between software and hardware, computer logic, data structures, and computation theory; all software engineer path have these foundation.
     
    Last edited: Mar 22, 2017
    udonsage and Nom de Plume like this.
  16. Nom de Plume

    Nom de Plume Well-Known Member Novel Updates Staff

    Joined:
    Oct 20, 2015
    Messages:
    1,435
    Likes Received:
    8,524
    Reading List:
    Link
    For Ruby, I like Ruby koans
     
  17. Linbe

    Linbe New member

    Joined:
    Mar 7, 2016
    Messages:
    1,806
    Likes Received:
    6,144
    Reading List:
    Link
    I actually learned SQL,HTML, Basic and all first and then Cpp, java and Python. But these are just barely enough.
     
  18. blackhawkrider

    blackhawkrider Well-Known Member

    Joined:
    Apr 16, 2016
    Messages:
    122
    Likes Received:
    56
    Reading List:
    Link
    I agree with you that W3school is probably not the best resources but at least it is good enough to refresh you memory on certain syntaxes you might have forgotten.
     
  19. blackhawkrider

    blackhawkrider Well-Known Member

    Joined:
    Apr 16, 2016
    Messages:
    122
    Likes Received:
    56
    Reading List:
    Link
    If you don't know what you want do in the future, then I suggest studying up on the foundation of programming. Regardless of what language you learn, they all have the same basis.
     
    TUSF and udonsage like this.
  20. Truerror

    Truerror Well-Known Member

    Joined:
    Jan 10, 2016
    Messages:
    255
    Likes Received:
    95
    Reading List:
    Link
    Well, since you already know Java...

    Go with JavaScript + web stuff now. Once you know that, it doesn't matter if you later want to go mobile or web, you'd already be prepared.

    For a breakdown on their use cases:
    Java: Desktop, web backend, mobile (Android), maybe even IoT.
    JavaScript: web frontend, web backend, mobile (with Cordova).
    HTML + CSS: web frontend, mobile (with Cordova).
    SQL: database, obviously.

    If you want even more flexibility, I'd go with C# instead of Java. That way, you can even program for game consoles (yes, PS4 can run Monogame).

    As for open-source projects, you're right. Most of the "exciting" stuff don't happen in the realm of Java. Or C#, for that matter. But Python and JavaScript has A LOT of FOSS projects on GitHub. And since Python is especially easy to read, you might be able to find one that you can understand.

    Edit: Oh, Tizen also allows you to make an app with JS + HTML, but it's a very obscure platform, and chances are, you might already have an Android device laying around.
     
    udonsage likes this.