Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Android IOS Java Programming IT

Ask Slashdot: How Often Do You Switch Programming Languages? 331

An anonymous Slashdot reader writes: I always see a lot of different opinions about programming languages, but how much choice do you really get to have over which language to use? If you want to develop for Android, then you're probably using Java...and if you're developing for iOS, then you've probably been using Swift or Objective-C. Even when looking for a job, all your most recent job experience is usually tied up in whatever language your current employer insisted on using. (Unless people are routinely getting hired to work on projects in an entirely different language than the one that they're using now...)

Maybe the question I really want to ask is how often do you really get to choose your programming languages... Does it happen when you're swayed by the available development environment or intrigued by the community's stellar reputation, or that buzz of excitement that keeps building up around one particular language? Or are programming languages just something that you eventually just fall into by default?

Leave your answers in the comments. How often do you switch programming languages?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: How Often Do You Switch Programming Languages?

Comments Filter:
  • by macker ( 53429 ) * on Sunday July 10, 2016 @11:33PM (#52486453)

    But then, I only fry firmware-burgers, so 'C' and assembler are it...unless you wanna count all the assembler flavors, then it would be 2 or 3 times a day...

  • by JoeMerchant ( 803320 ) on Sunday July 10, 2016 @11:43PM (#52486485)

    Small embedded ARM processors: C

    Mid-sized embedded Linux: C++

    Bloaty multi-core GUI with printer drivers, etc. running on Windows: C#

    Cloudy web servery type stuff: Javascript

    And, all of these can be found in a single shipping product. Go Team Silo Go! Hope it sticks when you toss it over the wall!

    • by Dutch Gun ( 899105 ) on Monday July 11, 2016 @12:16AM (#52486601)

      For me, it's not as much the hardware as the requirements of the software. I'm a game developer, so the engine and game are in C++, of course, no matter the platform. Our tools generally run on Windows, and productivity is more important than performance, so some of us use C#, while some other studios have used Java, from what I understand. If we need an extension language for our tools, maybe something like IronPython. If we're porting to Mac, toss in a bit of Objective-C. The web programmers use a lot of JavaScript, of course. Toss in some Lua as an embedded scripting language. There are probably a couple of minor cases I'm forgetting, but that's the bulk of it for my work.

  • Well... (Score:2, Insightful)

    by Pseudonym ( 62607 )

    ...about every 2 hours, on the current job.

    Having said that, I speak over 60 programming languages (to varying levels of fluency) at last count, and I do the Pragmatic Programmers thing of doing another one every year. I may not be the best person to ask.

  • With every project. (Score:4, Interesting)

    by Marc_Hawke ( 130338 ) on Sunday July 10, 2016 @11:46PM (#52486501)

    Or at least it's the project that determines the language.

    I use half a dozen different languages every day. You can double that if you look over the past year. There are a lot of factors that go into choosing a programming language and "what's new and cool" rarely is one of them.

    The two biggest factors are 'what is the execution environment?' and 'what are the interface requirements?' Basically, 'who is going to run it' and 'what does it have to talk to?' (and they are closely related)

    Next comes 'what are the related/currently existing projects already written in?' It's rare that you want to rebuild the whole thing. (Although sometimes that's exactly what you want to do.)

    After that, I'll look at the available libraries and tools, but for the most part everything worth using is adequate in those areas.

    Finally, if it makes it that far, I'll pick something I'm familiar with, just the make the whole project faster and less work.

    Overall, it's been quite a few years since the 'language' of the project was something I even worried about. "When in Rome, do as the Romans do."

  • Stay the course (Score:4, Insightful)

    by bidule ( 173941 ) on Sunday July 10, 2016 @11:51PM (#52486513) Homepage

    There's no point in changing language often. You stick to one and master it. I have a coworker who handles most legacy apps, it doubles the time taken to make fixes because he's in the wrong context.

    I'd say 5 years is a good run for a language, you can return to it in a day later on. Sure you can do a quick hack in a non-mastered language, but your style aint stable and 3 months down the line it'll be spaghetti.

    • There's no point in changing language often.

      Sure there is, mostly because you can't use quite a lot of languages for quite a lot of tasks without considerable effort and there are other reasons why one language is more suitable than another.

      For Android interfacing I use Java. For interfacing with Java programs I use Java and a bit of C++ for native speed. For image processing and computer vision stuff, I usually use C++. Systems programming on Linux I do in C++. For the Unity game engine I use C#. For embed

    • Hm, I did not do any C++ for nearly 10 years.

      Then 3 years ago I had to imllement a set of 'unit tests' and inspired by JUnit I wrote a test runner and about 12 tests.

      Took me a bit more than a day.

      Except for a typo and a missing include it compiled and run on fhe first compile.

    • Personally I haven't been given the option to master a language by my employers. I tend to focus on the best design for a program, regardless of the language I'm working in. Most programs don't need to be perfectly optimized and internet searching provides advanced techniques without taking too much time.

      I started out learning Java in college but only learned basic object oriented before moving to a mixed C/C++ embedded environment. After five years in this environment, my company went through a massive

  • by Maow ( 620678 ) on Monday July 11, 2016 @12:02AM (#52486565) Journal

    ... it keeps things interesting.

    Besides, I hate Bob in QA and it gives him conniptions trying to read it.

  • ...I basically have three areas I write in.

    There are the short and sweet (I mean, we all intend them to be short and sweet, no matter how unwieldy they get) system administration scripts. Those are basically always bash, although after I write them I always go "Damn, I keep meaning to try execline and forgetting it exists!"

    There's frontend Web dev. Javascript rules the day here, until WebAssembly finally gets... assembled.

    Then there's "everything else", which for the first ten years I wrote code meant Perl.

  • Comment removed (Score:5, Interesting)

    by account_deleted ( 4530225 ) on Monday July 11, 2016 @12:12AM (#52486595)
    Comment removed based on user account deletion
    • I think my list overlaps - but it covers a similar timespan:

      BASIC, FORTRAN, PL/1, APL, COBOL, BCPL, C, ALGOL, Pascal, Various assembly languages (6502, S/370, PDP-11, VAX), C++, Java, Perl, PHP, C#...

      And at that point, I do care: C# and Java are too confusingly alike-but-different to make a convenient fast switch. It's not just IT - I have the same problem with Dutch and German.

      But maybe that's just because I'm getting old and/or my brain is now full.

  • In the last two months, I've used three different programming languages, maybe more.

    The disturbing thing about the question is that it seems to assume you can only program at work. If so, I feel sad for you......you've never caught the enjoyment of programming.
    • by Z00L00K ( 682162 )

      It's not a question of switching, it's adding another tool to the toolbox. No matter if it's Perl, C++, C, C#, Java, Classic Basic (Yes, some solutions are out there using that still), Cobol, Bash, Makefiles etc...

      Often a project consists of not a single language but three or four at the same time considering the need to automate builds and testings and wrapping the software.

  • by DNS-and-BIND ( 461968 ) on Monday July 11, 2016 @12:22AM (#52486617) Homepage
    One thing I do not miss (besides being woken up by the pager) is having my knowledge obsoleted and being forced to learn new things. Oh, but you're supposed to never stop learning, stay young, blah blah blah. Bullshit, that's a bunch of pro-corporate propaganda. Now, I learn something...it sticks. 5 years later, I still know the thing. In fact, after 5 years I'm probably quite good at it. I will stay quite good at it until it changes (slowly or not at all) or I die. Sure, new laws and regulations come along every so often and they must be mastered, but it is nothing like IT. I like this way much better than becoming an expert and then having to start all over at square 1.
    • Re: (Score:2, Offtopic)

      I'm going to go ahead and agree with you. I'm semi-retired. And while I still play with computers- the thought of going back into IT makes my stomach turn.

      It's also true that the IT business has changed so much and is now driven by certifications and buzz-words rather than by talent or skill. Heck when I started working for a Fortune 100 in the mid 1990s I didn't even give out a resume. I had a *reputation*.

      It was only after the housing crisis and economic meltdown that I needed a resume. Apparently, financ

    • Man, what a drag it is to learn new things. We should all be able to step out of school with our diploma and never have to study or practice anything new again.

    • by interiot ( 50685 )
      There are some fields, such as banks and embedded work, where code bases stay around for a while. For example, at the bank where I worked, many of our Unix boxes were Solaris and AIX versions from 10+ years ago. Too old for my tastes. But still you worry that the longer you stay there, the more the rest of industry is leaving you behind and you might be stuck in this niche.
    • You do not need to learn so many things all the time. At least if you have an understanding of basic concepts. They pop up in most languages used today. Even the transition between Java domain and C# is easy to handle, as the libraries contain similar concepts named in a similar way.

    • Languages may become obsolete but knowing how to program never becomes obsolete. Problem solving, interacting with people, identifying gaps in the program design, these skills will always be needed by employers as few programmers understand these skills when they first enter the workplace. Some have a hard time ever learning these skills.

  • by Gumbercules!! ( 1158841 ) on Monday July 11, 2016 @12:34AM (#52486669)
    I use MongoDB because it's webscale. I also pipe data to dev/null because it's fast as hell.

    But seriously, for web stuff, php/javascript and for Windows server work, believe it or not, VB.NET, because that's what the code I've got to work with was written in.
  • I just bought a used book from Amazon, "Writing Compilers and Interpreters: An Applied Approach," by Ronald Mak (1991 edition), to write an interpreter and compiler in an ancient dialect of C written for DOS-based C compilers, and the target language is probably an equally ancient dialect of Pascal. The 1991 edition supposedly has working C code, whereas later editions has C++ code that doesn't translate into a modern dialect. After this, I'm going to write a BASIC interpreter and compiler.
  • I've been doing C/C++ for decades.
    I've picked up some Java, Python.
    Can do C# when it's the front end (I'm not a GUI guy).
    Of course shell script is always useful.
  • by EmperorOfCanada ( 1332175 ) on Monday July 11, 2016 @12:55AM (#52486723)
    I have switched computer languages many times. Some times for good, some times just for a project, but often I find a "better" language, only to find that it has many dead ends or other problems. My present primary language is actually two: Python and C++. With these two there isn't much I can't do. Where one is weak the other is strong.

    That said, there are some situations where another language is called for. Javascript is pretty much the defacto browser language. Thus I would never try Python or C++ in the browser as that would just be horrible. But I don't really see Javascript as a great a language outside the browser as some people claim. Then there are scripting languages. I use Lua where I give users the ability to extend my programs through scripts because Lua is wonderfully tied into C++ through some awesome language extensions, they are tight and small. So would I say that I switch programming language when I jump to Lua or Javascript?

    That all said, some languages are pretty much dead to me. Java is solidly in the trash, .net is solidly in the trash, perl is solidly in my past, and very happily Objective-C is in the dumpster and I set it on fire.

    I think that an interesting question would be more, "What language(s) do you presently use, what languages are your last 5 years of code largely in, and what languages are presently on your list of languages you are interested in exploring?"
  • by Yaztromo ( 655250 ) on Monday July 11, 2016 @12:59AM (#52486737) Homepage Journal

    I've been a developer on some pretty damn big projects. The kind of projects used by Fortune 500 companies -- everything from end-user facing applications all the down to low-level infrastructure projects.

    If there's one thing I've noticed about all of these large projects over the years, it's that there is rarely ever only one programming language in use. Web apps will use Javascript on the front end and one or more language son the back-end. Large scale C/C++ apps will have a variety of scripts surrounding them. Every project needs an installer, some form of scripting for the build processes, deployment, automated QA, and (frequently) database management. There may even be a mobile app attached to the project. I've had to switch between C/C++, Bash scripting, Java (with JNI), SQL, and REXX, all in the same project.

    The point being, if you work on a large enough project, and aren't a junior developer, you're probably switching between a bunch of different languages already. Those languages are probably fairly stable (i.e: you probably won't see too often where you change a massive project from Java to C#), although I've certainly introduced new languages and processes to big projects to make "dumb" processes smarter. The ability to do that, however, often comes when you get to a point in your career where you can specify and/or contribute to significant architectural changes.

    I've also been fortunate enough to work at a few places where you can spend 10% of your time working on personal interest projects. If you're fortunate enough to be in such an organization, this is a great time to try out new languages that interest you. If not, find (or start) a project in the interesting language of your choice, and work on it in your own time. If you make it Open Source, and put it on GitHub or the like, you can include it as experience on a resume.

    Yaz

  • by MrKaos ( 858439 ) on Monday July 11, 2016 @01:00AM (#52486743) Journal

    I switch between languages several times a day, sometimes I use two at once, doesn't everybody who codes? I have a method for understanding the capabilities of a language by implementing some design patterns when I learn a new one, which is pretty fun to do. I have no shame, I am a geek!

    Sometimes the features of one language teach you something new that you can apply to other languages. Learning is addictive, it's why I love programming.

    Is it just me or does anyone else get the feeling that these odd questions are being asked by recruiters trying to figure out how technologists work?

  • How do you mean "switch". At my work we have a main dev language and a couple in-house languages that are used to generate code. I also use emacs as my main programming environment, so I write a little bit of elisp weekly, probably. Or do you mean how often do I abandon a language and move to a new one forever? In that case, not once in 15 years.

  • How often is it that you have a brand new system, in which you get to choose your language? Unless you are independently wealthy, or part of a funded started (indirectly independently wealthy, partially) the answer is probably not very often. Whenever someone has a brand new, completely open, technological problem, they have a green field. [webopedia.com]

    This is not very common, at least for me. I have a BS + MS in computer science, worked for three years as an employee in two companies, and now own my own small software c

  • Given the set of products we have, from a single provider, I have to switch between: python, javascript, vendor specific language, java, bash, perl, xslt, power shell and sql on an almost daily basis. I rarely end a day dealing with a single language. Unfortunately, no C/C++ at my working place.
  • I am doing infrastructure for a well known, yet not public SF company. I've had days where I had to write code in 5 languages, going from interpreted languages with almost no type support, to Scala's type battleship. This raises problems for learning: I learned Scala somewhere else, doing nothing but Scala for months. When you can dive deep into a language, it's easy to remember it, and then bring back the knowledge on command. But without a deep dive, it's really hard to learn a language, especially when y

  • I don't. C for life. (Score:4, Interesting)

    by Nyder ( 754090 ) on Monday July 11, 2016 @01:42AM (#52486849) Journal

    C does what I need it to do. Only thing I'd switch to is probably assembly, since that would make the code run faster.

  • Don't be Dogmatic (Score:5, Interesting)

    by Plus1Entropy ( 4481723 ) on Monday July 11, 2016 @01:47AM (#52486867)

    You should almost never have the mentality of "I don't use such-and-such-a-language", whether it's because you don't like semicolons, hate whitespace requirements, or some other bullshit reason (come at me, I know you're out there :P). That doesn't mean you can't prefer one or the other, or even gripe about it to your co-workers; just don't let it get in your way.

    If you've done enough programming and know at least 1-2 languages fluently, you should be able to pick up another very quickly (less than a week). Often, at a particular company or on a particular project, you don't get a choice. If you do, the requirements of the project will force you to choose between 2 or 3. If you happen to be in a situation where you have absolute control and get the final say on what language to use, then you should choose the one that is best for the job.

    But when I say "best for the job", I don't necessarily mean in some theoretical, push-your-glasses-up-your-nose sense. I mean what will allow you to do the best you can to achieve the requirements of the task at hand. If the task at hand is to teach yourself something, choose a language you're less familiar with. If it's to meet the requirements of a client in a reasonable amount of time, choose a language you are more familiar with. If the application is computation heavy and speed is a requirement, choose a more efficient language. If you are not the sole developer, choose a language that your co-workers would be more comfortable with using.

    Often (read: always), more than one of these factors will be relevant. It's up to you, individually or as part of a team, to weigh them and determine the best choice. That is what it means to be an expert.

    Simply put, you should switch languages whenever you deem it necessary to do so. To know when it's necessary, you have to expose yourself to a lot of different languages.

  • Switch? (Score:5, Interesting)

    by drolli ( 522659 ) on Monday July 11, 2016 @03:04AM (#52487097) Journal

    I dont switch. I start to use programming languages when is see it fit and stop to use them when I see it fit. It is not a 'Everything in one language' thing. Depending on the project, languages switch positions.

    1987-1990: Basic
    1988-today: Assembler
    1989-1993: Pascal
    1990-today: C/C++
    1995-2010: perl
    1996-today: octave/matlab
    1999-2005: Autolisp
    2000-today: Java
    2002-today: Python
    1995-today: bash
    2007-2011: tcl/tk

  • ... whenever I realize something can't be done (or only in convoluted ways) in C.

    Then again, I also work with small targets (couple of ten kB RAM, couple of hundred kB Flash).

    Oh, and I switch to Matlab script occasionally, when determining what the small devices should actually do.

  • I do compilers, low level OS stuff, debuggers, code analysis tools, so I'm always having to switch languages or keep up with other languages. When I have more of a choice my current preferences are a mixture of C++14, Perl and Assembly ( especially PowerPC ). Modern C++ is a pretty nice language and I consider it distinct from C++98 and earlier. I also have way too much fun playing with meta-programming when I can. And template meta-programming is always fun for adding another level. Wrote a binary object f

  • Comment removed based on user account deletion
  • by jandersen ( 462034 ) on Monday July 11, 2016 @04:51AM (#52487381)

    I always see a lot of different opinions about programming languages, but how much choice do you really get to have over which language to use? If you want to develop for Android, then you're probably using Java...and if you're developing for iOS, then you've probably been using Swift or Objective-C. Even when looking for a job, all your most recent job experience is usually tied up in whatever language your current employer insisted on using. (Unless people are routinely getting hired to work on projects in an entirely different language than the one that they're using now...)

    Choice? Nowadays not a lot, I think; when I started way too long ago, you would choose a language that was accessible (in my case, one that I could find manuals for), then choose a job that required it. But back then you could get any number of jobs simply for being able to code. I started off with assembler, BASIC and FORTRAN in the 70es when programmers wrote in all upper case, added COBOL and PASCAL (still upper case languages back then) in the 80es, then C. I got into C++ in the 90es (because "The Future Has Arrived, And It Is Object Oriented"), and in the last decade or so I have used a much diverse range of languages - ksh and python for scripting, C, C++ and Java for application development, as well as whatever else was required on occasion. But C has been my main language for most of that time.

    Maybe the question I really want to ask is how often do you really get to choose your programming languages... Does it happen when you're swayed by the available development environment or intrigued by the community's stellar reputation, or that buzz of excitement that keeps building up around one particular language? Or are programming languages just something that you eventually just fall into by default?

    I think most developers really just code with whatever is used in their project, and will be able to change from one language to another with little difficulty. If I should make a guess, I would say that you start off early in your education by choosing the language that best suits your particular sphere of interest - GUI, back-end, kernel or whatever - but you will inevitably get infected by other languages over time. Personally, I have never paid much attention to what is popular or fashionable, but then I'm not a great follower of trends in general; I just use what seems best suitable. I suppose, when you build up your experience, you begin to notice that the differences between all those languages are fairly minimal - there's the old languages that seem to be made of cast iron and concrete, like COBOL and FORTRAN, there's a load of C style languages (including C++ etc), and then there are the "exotic" languages, if you will excuse my choice of words.

  • Most programming languages are the same imperative/OO thing, and after 5 or 6 you just don't care any more. If the project allows, do choose the best one for the job, even if mixing, but don't get too held up on this. As a previous poster said, the main programming language is... English.

    Now switching platforms is another problem, and that can hurt a bit. Still, after a while the pain dulls.

  • I don't do ActionScript anymore (for Obvious reasons) and I've been doing more serious JavaScript lately (same reasons).

    I moved into 'serious' PHP roughly 5 years back and will probably use it for another few years. I do various PLs on the side (C#, Python) but not as a mainstay.

    I've been trying to pick up a truly compiled language (C++) for decades and now will probably finally do so. I generally like to pick up languages I expect to use until the day I die. That's why I only use FOSS PLs - ActionScript was a sole exception to that.

    My 2 Eurocents.

  • I said it!
  • Full stack coding switching between Java, JavaScript. There's a lot of markup (HTML, XML) and SQL in there too.

  • and there is no switch statement, it is just called SELECT CASE...END SELECT, you insensitive clod!
    • C's "switch / case" statement is bush-league. I once worked with a FORTRAN77 program that used a big "indexed goto" statement. My team almost got tattoos to commemorate surviving that one.

  • by account_deleted ( 4530225 ) on Monday July 11, 2016 @07:53AM (#52487903)
    Comment removed based on user account deletion
  • by DoofusOfDeath ( 636671 ) on Monday July 11, 2016 @07:57AM (#52487923)

    Every time the C++ standards committee get together.

  • It's a stupid question. I never switch languages. I use several. Hell, by the time I finished highschool I was quite fluent in half a dozen. That was 19 years ago, extrapolate. I have favorites, not many, but usually I code in what's easier to do what I want to do, or in what is specifically requested. That's it. The question is still stupid.
    • by mlheur ( 212082 )

      I came to say something similar - use the right tool for the job.
      I take it you didn't see the folllow-up question that makes the actual overall question much less stupid: "how often do you really get to choose your programming languages"?
      To that I answer: every time except when working on Skyrim Mods. That's because I program for a hobby and to make my job easier, but it's not my job. When I got out of school I realized I like programming too much to ruin it by getting a job as a programmer, so I went in

  • I'm a CIS adjunct, so it changes from semester to semester for me. This summer semester, I'm teaching advanced web design, so that includes JavaScript. Fall Semester will be web programming w/databases, so it will be either PHP w/MySQL or ASP.NET w/MS SQL--haven't decided yet, though I'd prefer PHP. Spring semester is usually an intro to programming course, and is either Java or Visual Basic, depending on where I'm teaching.I also used to teach Unix Shell Scripting & DOS batch files, but those courses w
  • by Junta ( 36770 ) on Monday July 11, 2016 @09:03AM (#52488235)

    In my work, we deal with a wide variety (basically a large number of existing projects lead by other groups). So not only language, but style guidelines, processes, everything we adjust continuously to match whatever project we are working on at that moment.

    I have been in other positions where you must not use anything but the one true process, language, and style guideline as set forth by the company standards.

    In terms of when I *choose* for starting new, it's based on the available skills of the team I can put together. Despite all the 'oh language X is better than language Y', 99% of the time it doesn't really matter. You can do most things in any language, so it's most important to select whatever your team is most comfortable with. Yes, the potential performance and resource utilization may be better in some languages versus others, but most of the time with average teams, design choices will matter far more than runtime/compiler differences.

  • It is incredibly important to learn more than one programming language. The best way is to choose some non-trivial project that would be appropriate for a new language and implement it. Repeat and over time you will gain substantial knowledge and experience in a range of languages.

    It's not just all about languages of course since claiming to be a C++ programmer says squat of your ability to write a GUI. And writing a GUI for a desktop is different from one on a phone or on the web for that matter. So brea

  • This is a somewhat silly question. Programming languages are tools and you use the right tool for the job. How often does a carpenter grab a different tool out of his toolbox? As often as he needs it. Your first paragraph gets to the point. If you're programming a particular target, then there's probably one or two tools best suited for it. Use that one!

    Using the head of a screw drive to drive a nail might work, but why would someone do that when there's a hammer?
  • Just resting: APL
    In my sleep: C/C++, template metaprogramming
    Intermediate: R
    Passable: Perl, Python, shell
    Long past: BASIC
    At least once: Java, Pascal, OpenCL, Lua, VHDL, Snobol, Prolog, Forth, Lisp, TeX
    Thoroughly evaluated: JavaScript

    A few months back I looked at that list and decided I needed to add some tools more concurrency oriented, and something from the functional camp.

    Learning rapidly: Elixir/Erlang/ELM, Go

    My strategy in learning a language is to consume as much material as possible from the language

  • by johnlcallaway ( 165670 ) on Monday July 11, 2016 @04:56PM (#52491913)

    Once someone learns basic concepts, such as if..then..else, loops, pointers, and recursion for example, many programming language skills come down to syntax, libraries, and debugging. I jumped from programming COBOL for 15 years to C, C++, and Java without any issues, so I'd guess that someone who is a decent developer to begin with shouldn't have too much of a problem shifting gears to most other languages. I've also worked in a smattering of other languages (PL/I, FORTRAN) and far too many '3rd generation' tools. I even once modified code for a proprietary language I didn't even have a manual for.

    Logic, pointer theory, and spatial relationships are probably the hardest things for anyone to understand. Those that can comprehend basic logic constructs and are able to 'see' code in their head can probably easily shift from language to language with ease. Those that struggle with any language probably will have a difficult time picking up new ones.

    I think the biggest deterrent to learning new languages today isn't syntax or how the language works, it's the libraries and associated debugging skills. I had far more trouble learning C, C++, and Java libraries than I did learning the actual language. Modern IDEs make it a bit easier with predictive typing and on-screen syntax checking. But trying to figure out how to read a file or output to the screen can be extremely difficult in some languages because of all the possible options with all of the different libraries. Fortunately, anyone skilled in Google can usually find code examples rather quickly.

    And then there is debugging, which I think is still an art. Many years (decades??) ago, I had a developer come to me with a persistent bug he couldn't fix. After he explained it to me, he started to show me the code. I stopped him, and told him to go look at a specific part of the program, he was missing a period. He thought I was pulling his leg, but left and came back shortly and asked how I knew what the problem was without even looking at the code. I remember saying to him 'Scott .. the only difference between you and me is I've already made that mistake several times'. Debugging, like libraries, in any language takes significant experience to get good at.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...