Options

Programmers/Developers: A Question

Bl8ckr0uterBl8ckr0uter Inactive Imported Users Posts: 5,031 ■■■■■■■■□□
So next quarter I have a C/C++ class and a Java Class. Taking the advice from a few folks I have decided to prime myself in C/C++ not Java (since Java is apparently a beast to learn completely on your own). Both classes are a part of their own 2 class sequence (C/C++ 1,2 and Java 1,2,).

Here is the question, if you were a trying to teach someone the fundamentals of the C/C++ programming language would you use a Linux or Windows Platform. I am thinking linux would be the obvious choice (opensource, built in C/C++, etc) but Windows might be a more comfortable platform (especially troubleshooting, is that a program problem or a nix problem). Any thoughts.

Comments

  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    1. I mildly disagreee with the statement about Java.
    2. Use the platform that is most likely to be used in your course.

    I can't see you as wanting to continue as a developer, so I would not approach this from the perspective of mastering these two languages. They might give you some background that will help you at times, but really, unless you intend to specialize in application security don't put too much energy into it.

    I would bet that from a Java 101 type of course you will gain as much knowledge as if you studied an introductory book on your own. Probably similar results from C/C++ studies. Unless you continue on in C/C++ or Java and gain work experience with the languages these classes are not going to substantially influence your careeer.
  • Options
    phoeneousphoeneous Member Posts: 2,333 ■■■■■■■□□□
    Are you taking these classes because they are part of your school curriculum or because you just want to?
  • Options
    NetworkingStudentNetworkingStudent Member Posts: 1,407 ■■■■■■■■□□
    So next quarter I have a C/C++ class and a Java Class. Taking the advice from a few folks I have decided to prime myself in C/C++ not Java (since Java is apparently a beast to learn completely on your own). Both classes are a part of their own 2 class sequence (C/C++ 1,2 and Java 1,2,).

    Here is the question, if you were a trying to teach someone the fundamentals of the C/C++ programming language would you use a Linux or Windows Platform. I am thinking linux would be the obvious choice (opensource, built in C/C++, etc) but Windows might be a more comfortable platform (especially troubleshooting, is that a program problem or a nix problem). Any thoughts.

    I took a web design class, and some of the guys used this program to code web pages. It does support multiple languages, check it out.
    Notepad++ | 5.8.6
    When one door closes, another opens; but we often look so long and so regretfully upon the closed door that we do not see the one which has opened."

    --Alexander Graham Bell,
    American inventor
  • Options
    Bl8ckr0uterBl8ckr0uter Inactive Imported Users Posts: 5,031 ■■■■■■■■□□
    1. I mildly disagreee with the statement about Java.
    2. Use the platform that is most likely to be used in your course.

    I think Java uses Windows and C/C++ uses Linux (that's why the Linux class is a prereq).

    I can't see you as wanting to continue as a developer, so I would not approach this from the perspective of mastering these two languages.
    I would bet that from a Java 101 type of course you will gain as much knowledge as if you studied an introductory book on your own. Probably similar results from C/C++ studies. Unless you continue on in C/C++ or Java and gain work experience with the languages these classes are not going to substantially influence your careeer.

    I can't see myself being a fulltime developer either. I do want to be able to write exploits and application security is a big interest of mine (side note I just got an email and I think I am finally in infragardicon_biggrin.gif). I will probably end up picking up a Heads up Java anyway, just as a reference.

    phoeneous wrote: »
    Are you taking these classes because they are part of your school curriculum or because you just want to?

    Both, well sort of. At my school CIS has several tracks all of which share the same core classes. With my credits and CCNA, I have about 2/3s of the classes (before this quarter) for the Network Engineering track completed. The problem with that track is that it is an A.A.S, which translates to it being sort of a "working" degree. In fact all of the CIS tracks are A.A.S. However, the software development track was designed to match the first two years of a local 4 year school's CS program. In fact the program was designed due to an articulation agreement between the two schools so 100% of the credits transfer to this particular school. The 4 year schools happens to be the only school in the Area with a CS program that is both affordable and ABET certified and they have several agreements with a local air force base. So ultimately I want to matriculate through that 4 year school since the local air force base likes their program so much.

    In order to that in a realistic time period (say 2 years) I will have to transfer all of the software development classes. So that means 2-3 courses of C++, 2-3 courses of Java and an "advanced" database classes (the CIS "core" knowledge contains a database class but the software developments adds a Oracle class on top of it. I was and am considering getting the OCA just to get out of that class but i might just take it for fun).
    I took a web design class, and some of the guys used this program to code web pages. It does support multiple languages, check it out.
    Notepad++ | 5.8.6

    Notepad++ is awesome. I use it almost every day, especially when editing web config files icon_eek.gif
  • Options
    hypnotoadhypnotoad Banned Posts: 915
    If i was teaching C++, I'd use it on Linux. GCC is a great compiler compared to the Windows ones. Plus, I think MS has been pushing C# over C++ because it's their baby. That being said, you might have trouble setting up the compiler and figuring out how to compile and run things compared to visual studio's "Play" button.

    Java is a beast to learn because it enforces OO in a strict way. That being said, C++ is also a beast to learn because it doesn't enforce OO in a strict way :)
  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    hypnotoad wrote: »
    Java is a beast to learn because it enforces OO in a strict way. That being said, C++ is also a beast to learn because it doesn't enforce OO in a strict way :)

    Now that I can agree with. I have yet to study a full blown language that is not a beast to learn in some way. If this stuff were easy, senior level developers would be making half what they do.
  • Options
    Bl8ckr0uterBl8ckr0uter Inactive Imported Users Posts: 5,031 ■■■■■■■■□□
    Thanks for the reply guys. I think I might pick up a book on C++ at the end of the quarter. I mistyped and said I had to take the class next quarter when actually the class is 1 quarter away. Who knows, if I study hard enough, I might be able to test out of the class.

    Oh and I did get my official infragard stuff. :)
  • Options
    brad-brad- Member Posts: 1,218
    I learned in Java on windows. I dont recommend it.

    That said, Visual Basic on Windows would be my choice to learn on, just because it is so much more applicable and marketable. You dont get bogged down in the minutia of programming...at least not right out of the gate.

    It's more intuitive. You can develop right alongside your database, which is beneficial for learning purposes - helps you quickly visualize what you're doing.
  • Options
    phoeneousphoeneous Member Posts: 2,333 ■■■■■■■□□□
    brad- wrote: »
    I learned in Java on windows. I dont recommend it.

    That said, Visual Basic on Windows would be my choice to learn on, just because it is so much more applicable and marketable. You dont get bogged down in the minutia of programming...at least not right out of the gate.

    It's more intuitive. You can develop right alongside your database, which is beneficial for learning purposes - helps you quickly visualize what you're doing.

    Agreed. VB is awesome. It's the first language I learned in college and I've used it at every job so far.
Sign In or Register to comment.