Options

Learning a Coding Laungauge

Wrighty11xblWrighty11xbl Member Posts: 24 ■□□□□□□□□□
Hey, me again. different topic this time.

Im thinking of one way to bulk up my employability would be to learn some form of language. Be it Java or C++ but im not too sure which would be the best to go for.

Any suggestions or any experiences would be really appreciated.

THanks,
«1

Comments

  • Options
    Node ManNode Man Member Posts: 668 ■■■□□□□□□□
    If someone had no programming experience, I would recommend Python. Great language. Vast amounts of online training material. Great stuff on youtube. Ive found it the quickest language to go from zero to usable code.
  • Options
    Wrighty11xblWrighty11xbl Member Posts: 24 ■□□□□□□□□□
    I did a bit at school and uni, Visual Basic and PHP, probs forgotten it all.
  • Options
    JoJoCal19JoJoCal19 Mod Posts: 2,835 Mod
    Python is a great way to learn OOP as it's very accessible, easier to learn than other languages and as mentioned by Node Man, there is TON of material out there including a lot of free resources.
    Have: CISSP, CISM, CISA, CRISC, eJPT, GCIA, GSEC, CCSP, CCSK, AWS CSAA, AWS CCP, OCI Foundations Associate, ITIL-F, MS Cyber Security - USF, BSBA - UF, MSISA - WGU
    Currently Working On: Python, OSCP Prep
    Next Up:​ OSCP
    Studying:​ Code Academy (Python), Bash Scripting, Virtual Hacking Lab Coursework
  • Options
    shodownshodown Member Posts: 2,271
    I'm gonna come in and say Python as well. its a lot of good libraries out and its amazing what you can do with it, and you can use it for web development, data science and dev ops. Its some courses on udemy that are network specific for python so check those out and apply them to what you do.

    As an example of what I do in python, I have to build out a new network in a few weeks, and I was able to create 80 switch configs in a few min vs a few days. I just had python read off a spread sheet and take the information and put it in a config file. You can do this with excel and visual basic as well, but its an idea of how I use python.
    Currently Reading

    CUCM SRND 9x/10, UCCX SRND 10x, QOS SRND, SIP Trunking Guide, anything contact center related
  • Options
    DatabaseHeadDatabaseHead Member Posts: 2,753 ■■■■■■■■■■
    Visual Basic guy here, but I agree Python is a really good way to go.

    Like Shodown mentioned tons of fields you can leverage Python.
  • Options
    gespensterngespenstern Member Posts: 1,243 ■■■■■■■■□□
    I'd advise against Python and here's the reasoning.

    You waste time learning the syntax and, as you already mentioned, you learned some languages in school but have forgotten everything.

    The way the language is not forgotten is via regular use. Otherwise it's bye-bye.

    So I suggest you look at what you do at your work and learn a language that helps you doing what you do -- that way you won't forget it easily. Another option is TIOBE index and other similar indexes, pick something that is increasing its presence and currently in demand.

    These most likely would be Java and C#, they have a pretty similar syntax so it won't be hard to learn another if you already familiar with any.
  • Options
    Node ManNode Man Member Posts: 668 ■■■□□□□□□□
    gespenstern - I find that learning one language helps learning all languages. Python is an ideal gateway language. I recently jumped from Python to some pretty deep Bash scripting, and found the move pretty easy.

    Just look for common ground: constants, variables, operators, arrays/lists, for's, while's, comments, etc etc.
  • Options
    amcnowamcnow Member Posts: 215 ■■■■□□□□□□
    What exactly are you looking to do? Are you looking to start or improve your career path as a developer? Or, are you in a different IT field and just looking to augment your current skill set?

    If the former, then Python is a great place to start w/ a lot of free resources available for consumption. VB.NET is also a valid starting point, although it's market share is steadily decreasing due to its limitations. From there, you can then move on to C# and/or Java. There are other languages for web-based development, such as ASP.NET, HTML5, CSS3, and JavaScript. I'd avoid c++, at least until you become more comfortable with the other mentioned languages (and the concept of low-level memory manipulation a.k.a. pointers icon_twisted.gif).

    If the later (which is what I'm assuming), then I suggest concentrating on scripting languages like PowerShell (Windows) or Bash (Unix/Linux), especially if you're a sys admin or looking to become one. Unlike most languages I listed for developer roles, Python also works well here. Like others have said, it can be leveraged in both developer and non-developer roles.

    This far from an exhaustive list, but should provide a good starting point depending on what you're trying to do.
    WGU - Master of Science, Cybersecurity and Information Assurance
    Completed: JIT2, TFT2, VLT2, C701, C702, C706, C700, FXT2
    In Progress: C688
    Remaining: LQT2
    Aristotle wrote:
    For the things we have to learn before we can do them, we learn by doing them.
  • Options
    DatabaseHeadDatabaseHead Member Posts: 2,753 ■■■■■■■■■■
    I found C# difficult to start coding due to the pain in the arse setting up visual studio dev, I think they have a light weight IDE called community which might make the overhead of starting less. Something to consider.
  • Options
    amcnowamcnow Member Posts: 215 ■■■■□□□□□□
    https://www.visualstudio.com/vs/community/

    It supports multiple languages, including Python.
    WGU - Master of Science, Cybersecurity and Information Assurance
    Completed: JIT2, TFT2, VLT2, C701, C702, C706, C700, FXT2
    In Progress: C688
    Remaining: LQT2
    Aristotle wrote:
    For the things we have to learn before we can do them, we learn by doing them.
  • Options
    TheFORCETheFORCE Member Posts: 2,297 ■■■■■■■■□□
    Everything these days has a database on the backend. I'd recommend learning SQL before you learn a programming language. It will be more beneficial in my opinion.
  • Options
    DissonantDataDissonantData Member Posts: 158
    If you want to get into business/data analysis, then SQL would be a good choice. I've heard that data analysis can be applied in InfoSec positions.
  • Options
    Mike7Mike7 Member Posts: 1,107 ■■■■□□□□□□
    You can learn to write mobile Android and iOS apps.
  • Options
    DatabaseHeadDatabaseHead Member Posts: 2,753 ■■■■■■■■■■
    People who can write SQL are a dime of dozen in relation to OO developers. The real heavy hitters know how to write front ends and build solutions. (Like others have mentioned once you learn one procedural language the others become exponentially easier to learn, generally). In fact even in SSIS, what separates the children from the adults? Script task and Script components, being able to write C# and or VB.Net. In fact with the NOSQL movement (not only SQL) there are IDE's that allow you to query databases without having to write your classic SQL syntax. MapReduce (Google) and Hive (Hadoop) allow you to write procedural scripts to query.

    In my area a Data Analyst without OO experience makes ~80 k, that’s what a college graduate makes with .Net or some other OO experience. Within 5 years the OO Developer will be making 120 on up while the Data Analyst will still be in the single digits.

    I’ve seen business folks pick up SQL in 6 months, they could never do the same learning C or any variant. Take a class on SQL or do a couple of training modules on Lynda/Pluralsight and you'll be straight.

    Any doubts, go on a developers forum and ask.
  • Options
    Node ManNode Man Member Posts: 668 ■■■□□□□□□□
    IMO, solid Bash skills are also beneficial. Many people can enter commands at the command line, but someone who can really put together complex Linux/Unix/Posix/etc scrips are amazing.
  • Options
    mzx380mzx380 Member Posts: 453 ■■■■□□□□□□
    I learned languages in school but that was years ago. In order to brush up on my OOP I started learning Python last month since it is listed on a lot of job descriptions and has practical application. As everyone before me has said, there are tons of materials so if you are rusty at coding like I am it should be fairly easy to catch up.
    Certifications: ITIL, ACA, CCNA, Linux+, VCP-DCV, PMP, PMI-ACP, CSM
    Currently Working On: Microsoft 70-761 (SQL Server)
  • Options
    kohr-ahkohr-ah Member Posts: 1,277
    My vote is for Python or Bash.

    It really depends on what you do every day and how often you would use it. Really no way is a wrong way it is what works best to use in your environment. It is meant to perform a remedial task over and over in a quick fashion. If C++ does that for you go C++. Java do Java. Whatever works best for you.

    Bash it also depends on if you are in a Linux based environment. It seems to come in handy more and more for networking.
  • Options
    TacoRocketTacoRocket Member Posts: 497 ■■■■□□□□□□
    If you're going to do Bash. Look into awk or sed.

    All seriousness, Base or Python.
    These articles and posts are my own opinion and do not reflect the view of my employer.

    Website gave me error for signature, check out what I've done here: https://pwningroot.com/
  • Options
    knownheroknownhero Member Posts: 450
    I'm a SharePoint guy and I say JavaScript :)

    Also if you want some scripting learn PowerShell.. I use that almost every day and it's pretty fun to learn
    70-410 [x] 70-411 [x] 70-462[x] 70-331[x] 70-332[x]
    MCSE - SharePoint 2013 :thumbup:

    Road map 2017: JavaScript and modern web development

  • Options
    paul78paul78 Member Posts: 3,016 ■■■■■■■■■■
    Learning a language is largely dependent on the industry that you work in and the type of role that you intend to pursue. Since you mentioned Java and C++ - I assume you are probably less interested in scripting languages. I have my own bias towards programming languages because of my background and interests. I personally would suggest these languages depending on role and industry

    General Webdev - Ruby (RoR), Javascript, and probably a JS framework at the same time like AngularJS or React
    Big company webdev - C# .NET, Javascript
    Generic Net/Sys admin - Python, Powershell (if Windows), Bash, Perl
    Backend Dev - Scala, Java,
    Generic languages - Golang, Scala (primarily if you like adtech and fintech)
    System languages - Golang, Rust (my interest but probably not too many commercial apps)
    Mobile - Swift, Java

    I tend not to like functional languages primarily but it's a personal bias. But you may want to consider starting off with a functional language because of growing commercial usage. Also - I would suggest starting off with a statically typed language that also provides memory management unless your interest is more on low level coding.

    And you may want to check out the Tiobe index - TIOBE Index | TIOBE - The Software Quality Company
  • Options
    papadocpapadoc Member Posts: 154
    Join FreeCodecamp. I just joined last week. Quite a few people I know have had good success with it. I don't have much programming experience other than courses I needed in college.

    https://www.freecodecamp.com/about/
  • Options
    mgeoffriaumgeoffriau Member Posts: 162 ■■■□□□□□□□
    I just joined FreeCodeCamp yesterday, it's a lot of fun. Might be too basic for someone who already has some programming experience (though I guess you could just zip through or skip the early modules).

    For myself, I had a couple semesters' worth of C++ in college about 15 years ago, and nothing sense then (I worked in an independent bookstore and then on the support side of IT for the last 3 years), so it's perfect.
    CISSP || A+ || Network+ || Security+ || Project+ || Linux+ || Healthcare IT Technician || ITIL Foundation v3 || CEH || CHFI
    M.S. Cybersecurity and Information Assurance, WGU
  • Options
    jdancerjdancer Member Posts: 482 ■■■■□□□□□□
    To see if you really like to program, go to codeacademy.com and choose your language.

    After you get some experience programming, take a look at the Go language.
  • Options
    mzx380mzx380 Member Posts: 453 ■■■■□□□□□□
    Since we're on the subject, can anyone recommend a good editor. I am still learning in Python and want to try something different instead of the IDE.
    Certifications: ITIL, ACA, CCNA, Linux+, VCP-DCV, PMP, PMI-ACP, CSM
    Currently Working On: Microsoft 70-761 (SQL Server)
  • Options
    JustFredJustFred Member Posts: 678 ■■■□□□□□□□
    I started with Java and find it more appropriate for really learning the fundamentals. From there its easier to learn the rest once you have the fundamentals down.
    [h=2]"After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true." Spock[/h]
  • Options
    jdancerjdancer Member Posts: 482 ■■■■□□□□□□
    mzx380 wrote: »
    Since we're on the subject, can anyone recommend a good editor. I am still learning in Python and want to try something different instead of the IDE.

    Go old-school and use a text editor. I use VI myself.
  • Options
    amcnowamcnow Member Posts: 215 ■■■■□□□□□□
    mzx380 wrote: »
    Since we're on the subject, can anyone recommend a good editor. I am still learning in Python and want to try something different instead of the IDE.

    For Windows, I use Notepad++.
    WGU - Master of Science, Cybersecurity and Information Assurance
    Completed: JIT2, TFT2, VLT2, C701, C702, C706, C700, FXT2
    In Progress: C688
    Remaining: LQT2
    Aristotle wrote:
    For the things we have to learn before we can do them, we learn by doing them.
  • Options
    globalenjoiglobalenjoi Member Posts: 104 ■■■□□□□□□□
    I recently started trying to learn Python and Javascript, since it seems like having at least a basic understanding would be beneficial if I want to gain pentesting skills. I started with Codecademy courses first.

    For Python, I also started using this nifty free tool: https://www.jetbrains.com/pycharm-edu/
    I only recently just started using it, but it seems good for what it is.
  • Options
    paul78paul78 Member Posts: 3,016 ■■■■■■■■■■
    mzx380 wrote: »
    Since we're on the subject, can anyone recommend a good editor.
    You probably should have started a different thread since editors are so varied and can be fodder for editor wars.

    Since @jdancer mentioned vi - it's my duty to mention emacs which I've used since the mid 80's.
  • Options
    KrekenKreken Member Posts: 284
    mzx380 wrote: »
    Since we're on the subject, can anyone recommend a good editor. I am still learning in Python and want to try something different instead of the IDE.

    MS Visual Studio (free edition). Select Python during installation.
Sign In or Register to comment.