Are you a Polyglot programmer?

Discussion in 'Programming' started by Lord Nemesis, Oct 10, 2016.

  1. Lord Nemesis

    Lord Nemesis Overlord
    Veteran

    What programming/scripting languages have you used for "Official Work" over the course of your career?

    Make note of the mention "Official Work".

    By that I mean languages used for software/tools that you are asked to write as part of your official job duties. If you are well versed in certain programming languages, but never got to use formally at work, mention those separately.

    I think that anybody with a strong programming base can easily learn and write code in any new programming/scripting language they come across within a matter of days if not hours regardless of the kind of programming paradigm that the language fits into.

    While screening candidate profiles for interviews, I see a lot of candidates with experience/skill set that doesn't go beyond "Java". This is true even among programmers with over 10 years of experience. Further, its not like they have worked at the same place either. Over the the course of 10+ years of working, they would have switched jobs at least 6~8 times and sometimes more. In addition, its not like that monotonous work with with single language and Eco system gives them the benefit of depth in their stack either. Typically, their skills are as shallow as they can be. They don't voluntarily learn anything new and many refuse to work using a different tool. How can somebody who has no experience writing software beyond Java even think they are ready to take up the role of a Software Architect?

    --- Post Merged, Oct 10, 2016 ---
    Here are some of programming/scripting languages that I have written code officially for work over the course of my own career.

    Assembly (x86)
    C/C++
    C#
    Visual Basic
    Java
    Objective C
    Java Script
    Action Script
    Perl
    Tcl
    Go
    Bash Shell scripting
    Windows Batch scripting
     
    #1 Lord Nemesis, Oct 10, 2016
    Last edited: Oct 10, 2016
    asingh and nimod like this.
  2. vishalrao

    vishalrao Global Moral Police
    Veteran

    Here's my list (may not be complete, whatever comes to my head):

    For work and also extra-curricular (college/weekends):

    C/C++
    Java
    C# and "managed C++"
    VB6/.NET
    JS/PHP/ColdFusion/ASP.NET/JSP etc (dabbled)
    Unix Shell Scripting (bash)
    Win .BAT scripting too.

    During college or weekends:

    BASIC (on a Sinclair ZX Spectrum 128k+ model back in the mid 1980s!)
    COBOL
    FORTRAN
    Pascal
    Assembly (x86 and DEC-PDP-11)
    Prolog (on a Casio PB-2000-C mini/pocket computer back in the early 1990s!)

    So it's mainly C++ and Java with some .NET - my "skills" with the rest can range from mediocre to pathetic :D

    Thinking about trying out some of the "cool" new ones like functional (Erlang/Haskell) and some like Python/Go but dilly-dallying on this.
     
  3. xman0752

    xman0752 Banned
    Disciple

    C , c ++ and java ...still learning . It simply won't finish . Every day I get to learn from the mistakes and carry on forward .
     
  4. xman0752

    xman0752 Banned
    Disciple

    Hope that this mistakes that I make every day teaches me a lot and may be someday it will make me a good programmer ...m
     
  5. mathrisk

    mathrisk .: deleted :.
    Adept

    For 'Official' works, I have used:

    C,C++,
    Shell script,
    Perl
    PL/SQL
    C# (for a very brief period of time)

    For personal project I have used

    Ruby (on Rails)
    JavaScript (regular + MEAN stack)
    PHP
     
  6. drone

    drone Banned
    Disciple

    C , C++ and Java , still learning , still lot to learn , it never finishes , there is no end to it . Only thing that helped me was problem solving skills and a lot of Trial and Error , every day new mistakes and i come to know more , dont know what is others opinion , this is my personal view .
     
  7. sid_donnydarko

    sid_donnydarko Well-Known Member
    Adept

    If a well-experienced overseas professional developer saw this thread, then they would question the rationality for creating one such as this. They are shocked when we Indians confuse scripting with programming. This is due to a lack of understanding of the most basic programming principles such as programming against interfaces, preferring composition over inheritance, etc. One can't really understand the difference between a class and an interface unless the basics have been mastered. Hence when the underlying philosophy behind Object Oriented Programming is itself absent, the lack of interest isn't surprising.
     
  8. asingh

    asingh Well-Known Member
    Super Mod

    Stuff I have used at office:

    C
    C++
    Java
    C#
    VB6
    VBA (all office products) - considered scripting
    PL/SQL
    Some stuff I did on mainframes long back. Cannot even remember the name. Just remember the green blinking icon. LOL.

    School:
    LOGO
    BASIC
    Pascal

    **********
    Though my line of work hardly needs the above anymore.
     
  9. booo

    booo BA BA BA BABANANA
    Veteran

    I don't like the condescending tone of this thread. :/
     
  10. vishalrao

    vishalrao Global Moral Police
    Veteran

    Get out.
    --- Post Merged, Nov 27, 2016 ---
    I say that with the most sincerest of condescension.
     
  11. blufox

    blufox Well-Known Member
    Adept

    C, C++, Go Lang, Rust, Scheme plus some asm.
     
  12. blufox

    blufox Well-Known Member
    Adept

    Scripting is actually believe it or not programming. Just because an interpreter runs the scripts on the fly doesn't make it any less than programming in strongly typed compiled languages.

    Who are these people who are shocked? You do know what Object Orient-ism has nothing to do with Class atleast.

    There are certain class of experienced Devs, who believe Object orient-ism is a broken concept and propose everyone to go through rigorous Functional paradigms to understand underlying abstract notion of programming languages because in the end all languages are just tools. Being adept at one or two is hardly impressive, but being able to solve problems using best tools available is what is impressive.

    Sometimes, this tools can be a scripting language.

    Peace :)
     
  13. sid_donnydarko

    sid_donnydarko Well-Known Member
    Adept

    I never meant to imply that a Class is specifically intrinsic to the OO paradigm. I meant that developers first need to struggle to understand the paradigm of OO which is akin to mimicking the universe. In other words - solve a problem by modelling a reality that revolves around it. Once this is achieved any developer can use real-life examples to confidently explain the concept of Abstraction. And hence the importance of an Interface. I shouldn't have clubbed 'programming against interfaces' and 'preferring composition over inheritance' together in the same sentence describing them as 'basic programming principles' in my earlier post. 'Preferring composition over inheritance' is really a 'best practice'. Sorry for the confusion.
     
  14. OP
    OP
    Lord Nemesis

    Lord Nemesis Overlord
    Veteran

    In what way is it condescending?

    I have been doing technical interviews for 10 years now and looking at the people that that have been coming for interviews lately, I am having a hard time trying to understand how a person with 10+ year career walks in with roughly the same extent of knowledge diversity and skill as somebody with no experience while expecting a higher salary. If a skilled Java programmer fresh out of college can design and build a system on his own and a programmer with 10+ year career is also doing the same, why should I pay him more instead of just hiring the fresh college graduate. What is the value being added by the 10+ year guy. Now, if he says based on his experiences, that certain part of this system should be built in Java and and certain other parts are best built using some other language or he recommends that a certain kind of data store is apt for the project for so and so reason, I would be getting value by hiring him.

    When you experience a few different programming languages, paradigms, patterns, issues etc, you would be in a position to add value to another project with your experience instead of blindly brute forcing your through in an inefficient manner with whatever you know.
     
  15. sid_donnydarko

    sid_donnydarko Well-Known Member
    Adept

    This is a massive problem in India where we value experience over all else. And this is why India's best ultimately leave our country. Please reward talent with good pay, i.e., pay that is the equivalent or greater than that of experienced programming professionals. When you don't you are setting a standard that not only demoralizes the younger hire but also invisibly regresses the Indian IT market.
    --- Post Merged, Dec 17, 2016 ---
    blufox - is it your opinion that OO is broken? If so can you elaborate a bit more please. I'd like to know where you're coming from. :)
     
    #15 sid_donnydarko, Dec 17, 2016
    Last edited: Dec 17, 2016
  16. booo

    booo BA BA BA BABANANA
    Veteran

    why are you assuming that there is a direct correleation between no of years and skill? And also knowing a lot of different languages doesnt make a person skilled either.

    on a lighter note
    [​IMG]
     
  17. vishalrao

    vishalrao Global Moral Police
    Veteran

    I just hope this "programming" field isn't taken over by bots replacing humans any time soon. The coming AI apocalypse. Will have to rely on a Universal Basic Income then. :nailbiting:
     
  18. sid_donnydarko

    sid_donnydarko Well-Known Member
    Adept

    This is an age-old rule that applies to most job candidates. Only a hand-full are natural-born coders. The rest of us just have to struggle.

    In an effort to offer equal opportunity to both junior and senior software developers, more and more tech shops abroad are now challenging candidates with a single project as a open-book coding task. This can take either a few minutes or multiple hours to complete depending upon the experience/skill of the candidate. This way all of the candidates who complete the task stand to learn and improve their skills, regardless of their experience.
     
  19. sid_donnydarko

    sid_donnydarko Well-Known Member
    Adept

    Pragmatic Thinking and Learning: Refactor Your Wetware

    The above book is a must read for all OO language developers in India. I want to believe that first-world software engineers are wrong when they insist that abstract thinking cannot be taught. And i believe this is the go-to book to learn abstract thinking.
     

Share This Page