Skip to Content
author's profile photo DJ Adams

Mission: What's your favourite programming language, and why?

To celebrate Programmer's Day this year, we have a fun mission for you (see Programmer’s Day Mission 2020 for details). Let us know, in a comment to this discussion here, what your favourite programming language is, and (equally importantly) let us know the reasons. There are many languages, and many reasons to like them. Tell us what appeals to you, and why. And that's it! We're looking forward to what you have to say. And if you want to earn the mission badge, you have until the end of Sunday 13 September in your timezone to add your comment.

* Please Login or Register to Comment on or Follow discussions.

178 Comments

  • Sep 11 at 05:42 AM

    I'm charmed, captivated, yes truthfully, enamoured by Rust. Rust enables me to express concepts in code with clarity and confidence. Confidence that the programs I write behave reliably.

    The Rust language is designed to help write reliable software in various domains: From low-level systems programming to higher level applications. Rust helps avoid errors by having a preference for being explicit rather than the potentially ambiguous.

    Rust is a compiled language and the compiler does a lot of the heavy lifting to avoid ambiguity. The compiler messages are actually helpful - providing explanation on why the compiler believes there is an issue and hints to resolve it. And did I mention great documentation and good tooling? Wow - even a documentation builder so your own code never goes undocumented. I did say I was enamoured?

    The language has several interesting approaches: It doesn't support inheritance yet it does support polymorphism. Variables are by default immutable. It has strong error handling, but does not use exceptions. Enums with behaviour! Lots to explore.

    For those wanting to getting started, the ecosystem provides a lot of support. Playgrounds, learning materials and community. As well as courses written in Rust using failing unit tests to help the fledgling Rustlings exercise their new-found knowledge.

    So why Rust? For me lots of reasons: A language with a focus on safe programming, support for functional programming style, multiple target platforms from cloud to embedded, thousands of external packages - but most compelling - interesting approaches that widen my world view.

    • Sep 18 at 09:32 AM

      Wow, didn't really know much about Rust, but you had me at "Variables are by default immutable". Definitely worth looking into!

      • Sep 21 at 07:46 AM

        Love Rust!

        Being explicit on memory allocation often ruins the conciseness of the basic language (at least for beginners like me)

        But I do love the language design, and it's amazingly easy for being so low level

  • Sep 11 at 07:14 AM

    My favorite is JavaScript. One of the top reason is that I can run it anywhere I want and it's ease of use,

    want to test something? Just go to a browser dev tools and try it out. For e.g, I am barely a beginner in JAVA but to solve the sap community coding challenge 3(java), I just opened my browser console, tried it quickly in JavaScript in different ways (with immediate output) and then converted the working solution to JAVA.

    • Sep 12 at 09:49 AM

      Portability and availability are real and valid reasons, I agree.

  • Sep 11 at 07:27 AM

    At the moment, I've been coding a lot more using JavaScript lately, so that makes it my favourite programming language (i guess)! I think the reason behind this is that JavaScript is the programming language of the web, and highly supported by many development framework or SDKs. It has a lot of programming concepts that most modern programming language has like closures and higher-order functions. And although it lacks the capability of being a strongly typed programming language, there's TypeScript that can fill that gap. A single-threaded environment that makes it easy to comprehend and do troubleshooting. There's a huge support from the developer community in this programming language. A lot of opensource projects are based on JavaScript or TypeScript.

    • Sep 12 at 09:50 AM

      The nice thing about the JS ecosphere is that other languages like TS crop up and make the space even more interesting.

  • Sep 11 at 07:42 AM

    For me it has to be PowerScript, which was the language as part of PowerBuilder. This was my first language in RAD 4GL Programming, for MS Windows and eventually into MS Windows Mobile with PocketBuilder (both PB & PK originally from PowerSoft/Sybase). I developed with PowerBuilder/PocketBuilder & PowerScript for over 20 years and still have such vivid and fond memories of visual development.

    We designed screens in the IDE with awesome controls, such as the DataWindow (a SQL-Smart control), which was years before its time, coded with PowerScript in response to events/messages and could create breathtaking apps in no time.

    I'm sure there are still PowerBuilder & PocketBuilder apps out there somewhere!

  • Sep 11 at 07:56 AM

    Hi D J Adams,

    I admire Python for the way it let's developers express their thoughts into fewer lines of codes than many other languages, but still is readable and modifiable. It is well suited for incremental development.

    Best regards,

    Sagarkumar Darji

    • Sep 12 at 09:50 AM

      I agree, Sagarkumar, Python's readability and general applicability are two great strengths.

  • Sep 11 at 08:06 AM

    Hi DJ Adams,

    I love ABAP for the ease of use in SAP environment. Now, with the introduction of Restful ABAP Programming model, its evolving to the cloud as well. Fiori Elements with RAP model helps in creating Fiori applications quickly.

    Thanks,

    Sonal

    • Sep 12 at 10:09 AM

      Yes, a language doesn't exist in a vacuum - and the RAP framework is lovely.

  • Sep 11 at 08:39 AM

    I personally like ABAP. It exists as an object oriented language and it can describe procedures that people understand easily. Specially the usability of SQL along with ABAP is really helpful and easily understandable.SQL codes you write with ABAP can be useful in other DBs with minimal changes since sql part will remain same. I am using ABAP codes specially for SAP BW data models.

    • Sep 12 at 10:10 AM

      Always a classic and a popular language here, nothing wrong with that! :-)

  • Sep 11 at 09:19 AM

    Back in the engineering days, I was fascinated with C, C++ and it was fuelled with Yashwant Kanetkar’s books. The excitement still remains even though I did not code in those languages in 13 yrs.


    Kumud

    • Sep 12 at 10:10 AM

      The passion is still there, I'm sure. Tried other languages since?

  • Sep 11 at 09:40 AM

    I started coding with C,C++ which were part of academics, then later learnt java, html(markup), JavaScript, SQL. Got into ABAP as part of job. Really liked abap for how it handles complexity and things(4GL), but I feel somewhat it is restrictive or closed. I like java and JavaScript for its openness and as we have a huge support system. Slowly ABAP is also evolving into that. Heard about new language like python, go, Haskell, rust, but never used/tried them. So to summarize like java, JavaScript and ABAP

  • Sep 11 at 09:44 AM

    I'm going to say ABAP - while only once in my life did I have the title of ABAP programmer, to this day, I still obtain a lot of satisfaction of debugging a program. It is a real sense of achievement once you fix a "bug". I admire those who are so much better than I am with ABAP.

    I did learn C in a shopping mall back in 1991 - it was me and several Sprint engineers - but I have never used it professionally. Showing my age too, I did learn Fortran in college and the school still had a vending machine for punch cards.

    • Sep 12 at 10:11 AM

      Learning C in a shopping mall, the mind boggles!

      • Sep 19 at 12:40 PM

        doesn't matter where but what and C deserves any learning path one can take. i learned about it over the phone from a PhD in mathematics and sadly dismissed it as too complicated. 15 years passed and then i started reading the "K&R" book and this is what motivated me not to dismiss Go so many years later.

        speaking of shopping malls, this is where you can get your driver's license or passport renewed, so they have been multipurpose and not just places where to service your Apple or until very recently Microsoft devices.

  • Sep 11 at 10:05 AM

    ABAP for me, mostly because of the day-to-day use ...
    Yet I'm very keen to dive into Python and JavaScript some more.

  • Sep 11 at 10:44 AM

    La mayor parte de mi vida profesional (aprox. 20 años) la he pasado desarrollando en NATURAL /ADABAS, no me atrevería a decir que NATURAL sea mi lenguaje de programación favorito, pero después de tanto tiempo terminas cogiéndole cariño (Mi yo del pasado nunca podría imaginar que escribiría esto).

    Seguramente la mayoría no conozcan el NATURAL / ADABAS y los que si lo conozcan seguramente también vieron <<Naves en llamas más allá de Orión>>.

    Durante estos años he acompañado NATURAL con otros como C, Visual Basic y por supuesto JavaScript.

    Ahora toca explorar el mundo SAP, SAP HANA, ABAP, etc. veremos dentro de 20 años en qué lugar quedo esto.

  • Sep 11 at 12:15 PM

    Hi all,

    for me, php: I know it's mainly for web development, however I found it quite easy and immediate, with lot of available resources;

    then, I would say ABAP and javascript, for their daily usage.

    Flavio

    • Sep 12 at 10:12 AM

      PHP! That's a brave admission! ;-) Just kidding, you like what you like, and that's more than fine!

  • Sep 11 at 12:33 PM

    For me it's definitely ABAP!

    After I graduated in 1999 (with knowledge of Visual Basic & Cobol), I started in Consulting and had the opportunity to learn ABAP. Today in 2020 I'm still an ABAP developer and I really hope to enjoy ABAP until I retire!

    It's also wonderful to see how the programming language evolved over the last 20 years.

  • Sep 11 at 12:47 PM

    Hello DJ,

    I loved Visual Basic 6, it was one of my first programming languages that I worked with being a professional, nowadays JavaScript has been a new love in my life despite I have been working in ABAP for the last 12 years, so in conclusion ABAP and JavaScript occupies a special space in my heart more than any language.

    Thanks.

    Jhon Jairo.

    • Sep 12 at 10:13 AM

      I think we can allow two in the heart, those are two good ones.

  • Sep 11 at 01:12 PM

    Hi DJ

    I'm going to go with Java. I've been programming in Java since JDK 1.2, so from around 1998. Here are three things that I really like about Java.

    The Collections framework

    The Collections framework contains interfaces and implementations of essential data structures like lists, sets, maps etc. As a Java developer you use the Collections framework constantly, so investing some time in understanding it is a really good idea.

    The Streams API

    Added in Java 8 in 2014, the Streams API lets you write really elegant, concise, functional-style code for processing stuff in collections. Lambdas (also introduced in Java 8) and the declarative style means you can throw out a lot of boilerplate code, that you'd have to write before the Streams API. Really cool stuff.

    Effective Java

    Now in its third edition, this book is essential for all Java developers, IMO. It doesn't teach Java, but once you know the basics, it will teach you how to become a better Java developer. Written by Joshua Bloch, who had his hand in a number of Java features and libraries. Required reading.

    • Sep 12 at 10:13 AM

      Personally I'm not so much of a fan of Java (as some friends and colleagues will point out :-)) but I love your detailed reasons for favouring it. Kudos!

  • Sep 11 at 01:15 PM

    After you've learned first 3 programming languages the rest will look like the same :)
    I have some practical experience with the following languages (some projects):
    Assembler for x86
    Fortran
    Basic (Classic, Visual Basic, VBA)
    Pascal
    C,C++ for different platforms, C#
    ABAP
    Java
    JavaScript
    PHP
    Python
    Number of scripting languages for the particular applications.
    In most cases you can write any algorithm in any language, may be with some issues and extra complexity!
    The easiest one for me is MS Visual Basic

    • Sep 11 at 05:30 PM

      well, that's because you chose relatively similar ones.

      Have a look at Lisp, Prolog, F# or Haskell

      • Sep 11 at 08:56 PM

        Unfortunately I do not have business cases to do some programming in Lisp, Prolog etc...

        In past I have played a little with Lisp, but stopped - not applicable to my work.

    • Sep 12 at 10:19 AM

      But do you have a favourite, and why? That's the burning question here :-)

      Also, I agree with Marcello here - the ones you list are very similar but languages can be wildly different from one another, entire-brain-sized differences. As to business case for programming? I'd suggest one doesn't need a business case to learn just a small amount of another language - perhaps like you did with Lisp?

      • Sep 12 at 10:51 AM

        I don't want to select favorite!

        Today I am regularly using:

        ABAP

        VBA

        JavaScript

        SQL (MS and HANA)

        MDX

        Scripting (Script logic in BPC and Advanced formula scripting in SAC)

        VBA and JavaScript are more or less the same, but in some cases you don't have a debugger for JavaScript like in SAC.

        In ABAP some standard functionality is missing, but you can still implement any algorithms...

  • Sep 11 at 01:38 PM

    I think my favorite is SQL. I started out working with SQL Server and learning how to manage and report data. I just love solving the problem of how to join data together to get what the customer wants. It may be simple but it brings me joy!

    • Sep 12 at 10:19 AM

      You're the first I've seen to list SQL as a favourite, but I'm sure not the last!

  • Sep 11 at 01:49 PM

    My favorite programming language is Java because it's free, easy to learn, and platform independent.

  • Sep 11 at 02:28 PM

    Most certainly ABAP for me.

    I love it because it’s not just purely a programming language but also a complete development stack as well which makes most ABAP developers naturally a full-stack developer (thinking of good ‘ol ABAP Dialog and Webdynpro days... haha). Also, it’s not the most modern language and hasn’t evolved or change as much as other languages (a plus in my book!) but it’s a language that is closest to the business requirements.

    My background before starting ABAP was in Perl, PHP, ASP and a little bit of JavaScript for mostly web development.

    • Sep 12 at 10:20 AM

      Another one for ABAP - not bad. I like that you mention Perl, it was an absolute passion of mine and taught me much about programming and data structures in a way that was ultimately independent of the language itself. Happy memories.

  • Sep 11 at 02:52 PM

    My favorite is Python.

    The grammar is simple and easy to read and write. Many high use programming tasks have already been scripted into the standard library which reduces length of code to be written significantly.

    • Sep 12 at 10:21 AM

      Yep, Python is a strong contender and has benefitted from being the go-to language for many recent endeavours in computing.

  • Sep 11 at 03:16 PM

    Hello,

    my favorite programming language is ABAP. I am interested in it since I did the first exercises on a SAP consultant course in 2009. In 2018 I deepened my knowledge by becoming a certified SAP Development Consultant.

    I already started in the 80s with the programming language BASIC on my Commodore C16.

    Regards

    Marco

    • Sep 12 at 10:21 AM

      I started with BASIC too, altho in the 70's :-) But nice to see that you've also gone for ABAP in the end!

  • Sep 11 at 03:30 PM

    I believe, as has been stated, that JavaScript is very flexible, it can run practically in every platform, has a mature ecosystem and community and it is still evolving... plus, I love one-liner functions and that handling JSON is so simple (Manipulating API requests or response's, anyone :) ?).

    let sFavLanguage = "JavaScript";
    console.log(`My vote goes to ${sFavLanguage}`)

    Thanks! :D

    • Sep 18 at 09:38 AM

      Yep, JS is a fav of mine too, and for many reasons, including the ones you list too!

  • Sep 11 at 03:45 PM

    I do have a sentiment for BASIC as my very first programming language that hooked me and directed my career.

    But the language I really loved was PASCAL as the "efficient language intended to encourage good programming practices using structured programming and data structuring" [source].

    My main language recently has been SQL, and I especially enjoyed working with its multimodel aspects in SAP HANA, because it was intellectually challenging: to think in graphs for connected data processing or to really understand the Earth for geospatial querying. And btw, did you know the Earth is not flat? :-O

    • Sep 13 at 03:24 PM

      I've backed the recent ZX Spectrum Next Kickstarter. The BASIC dialect seems to have improved quite a lot - looking forward to playing around with it :-)

    • Sep 16 at 03:51 PM

      I was going to write my own post by I'm going to latch on here.

      I credit Pascal for literally making me a precise programmer. It forces that behavior/consideration. About 180 degrees from the cut/paste jockys that pass themselves off as programmers today.

      Currently I'm about 50/50 with Node and Python. I learned long ago not to get into religious wars over programming languages.

      -Andrew

    • Sep 18 at 09:39 AM

      BASIC was my first encounter / love too, to be fair. And like you, it got me hooked. BASIC PLUS on the PDP-11.

  • Sep 11 at 04:04 PM

    My favorite is JavaScript. I like that I can use it client side and server side with node.js, and no compiler required. Also, that there are so many tools available to help with debugging.

    • Sep 18 at 09:40 AM

      I do like a good interpreted* language, yep. The flow is so comfortable.

  • Sep 11 at 04:30 PM

    I'm a big fan of Kotlin! I like to think of it as a better version of Java :D

    I think Kotlin has everything Java has to offer but allows more readable code with less code! It also has additional features that Java doesn't offer like null handling, extension functions, and have you seen the data class difference between Kotlin and Java? I know Java is testing Records which is a preview for Java 14, but it just makes me think Java is becoming more like Kotlin because it knows it's better? ��

    Nothing can beat my love for extension functions though. It's SO nice, seeing it used makes my heart warm

    • Sep 18 at 09:41 AM

      Kotlin - fascinating! As a better Java than Java - I think there are some other contenders too :-)

  • Sep 11 at 04:37 PM

    Tough question.

    I recently fell in love with F#, but only used it during a course, so it's a bit unfair to languages I know enough to. The things I like about it should apply to related languages like OCAML too:

    It's incredibly terse, almost boilerplate free.

    Strongly typed, yet requires very little type information

    Mostly functional, works very well with immutable data (but does allow mutation. Sometimes it's worth it)

    Very expressive type system, which allows to make impossible to represent invalid values (i.e. an user type only has the username field when logged in, not when logged out)

    On the flip side, compiles to .net, which makes its VM a dependency of your binaries.

    Like Rust a lot too, but does require its share of boilerplate to manage memory.

    If I have to stick with a language I use regularly I would say typescript. Has a similar type system but is much more verbose and less functional/immutable friendly

    • Sep 18 at 09:42 AM

      I also fell in love (from a distance) with F# watching Erik Meijer on Channel 9.

  • Sep 11 at 05:19 PM

    ABAP is in my blood. I got to learn many programming language but ABAP changed my life professionally. I feel proud to be an ABAper.

    ABAP is a programming language but i feel like its is more like our english language what we speak converted into ABAP syntax. Easy to Learn,Write and Develop the Object.

  • Sep 11 at 06:09 PM

    TCL ... Everything is a string!

    • Sep 18 at 09:43 AM

      Kudos for going with Tcl, I'm not ashamed to admit that the "everything is a string" does appeal to me :-)

  • Sep 11 at 07:39 PM

    Hi SAPCommunity!

    I don't have ONE favourite programming language.

    I only have favourite programming languages per task or my latest (private) project!:

    • ABAP: Daily business - everyone (should) have to work for a living and it got really cool in recent years!
    • JavaScript: Hey - also SAP can have a fancy UI ;) and there is currently no node.ABAP
    • C++: This was the 1st language I was taught at technical college
    • Java: after 3 weeks I had to teach my teacher (and the hole class)
    • Assembler: know your board ;)
    • Perl/PHP: can you remember CGI or your first LMAP ;)
    • Scratch/Python: trial and error with my kids
    • ...

    For me it's fun to finde the best way - no matter which vehicle you use!

    • Sep 18 at 09:44 AM

      I can indeed remember CGI (Common Gateway Interface), and I even still have the O'Reilly book on it. Happy times.

  • Sep 11 at 08:14 PM

    A very difficult decision on this mission!

    After 12 years using abap, I have it in my heart (and in my brain) but I love javascript. I can create a CAPm using Js and then create an interface based on SAPUI5 and Js. Python is also an option that I love for data analysis and IOT.

    But I definitely chose Js :)

  • Sep 11 at 10:03 PM

    I suppose saying this dates me, but over the years I've written production code in COBOL, C, C++, Pascal, VB, perl, Java, and JavaScript. Among those, my favorite would depend on the problem in front of me. For classic programming tasks, my favorite would have to be C++. One can write blazingly fast code but also leverage the elements of objects. While I work in Java today (a lot), I never forgave the early designers for intentionally omitting multiple inheritance (I am grinning as I write this). And, while JIT-compiled languages make for a wider field of "fast" languages, it rarely feels right to me to distribute full (or easily de-compile-able) source code.

  • Sep 11 at 10:57 PM

    I love ABAP, SQL Script for HANA, ABAP for key user and now, ABAP on cloud. Very happy !.

  • Sep 11 at 11:06 PM

    I am a computer engineer that went into software and then SAP. So while I've spent my professional life using ABAP, I think my favorite language is still C. Handling memory and physical resources was just so much fun, even if it was very tricky. From controlling motors and handling sensors to driver programming, there is so much that can be done. I haven't started, but have wanted for a while to get into SAP Leonardo to experience its IoT offers.

  • Sep 11 at 11:43 PM

    for me, it's algebra or anything that only needs pencil and paper. i did learn how to use abacus and a type writer when i was a kid, but sadly it's all forgotten and now i just google it, so maybe today it would be javascript, if i can run it anywhere and edit it in a notepad.

    Excel formulas (VBA), ABAP, SQL, Java - i think i have tried them all, but always found someone better skilled at it.

    BTW, i wish i had learned C and unix when they first 'came out'.

    • Sep 18 at 09:48 AM

      Interesting to consider whether algebra is a "programming language" or not!

  • Sep 12 at 02:10 AM

    Oh well...I have been coding for the last 22 years...and being a Programming Languages Arqueologist I have played with more languages that you can think of...

    Which one is my favorite? Can't say I have just one...so...

    * R (is pretty flexible and let's you manipulate data in a multitude of ways)

    * FORTRAN (Elegant and super powerful...a truly beautiful language)

    * V (Simple, fast and extremely flexible)

    * ABAP (I was an ABAP Developer for 11 years! Gotta give it some love)

    * Crystal (It's a better Ruby...and fast as C++)

    All the rest have a special place in my heart...and gotta at least mention some of them :) Like OCaml, Forth, Racket, Mercury and Prolog.

    Blag.

    • Sep 18 at 09:49 AM

      Blag, knowing your language journey I have to allow you to choose more than one :-)

  • Sep 12 at 04:35 AM

    My favourite languages to solve any problems or solutions

    Java

    Go

    Python

    SQL

    JavaScript

    HTML

    CSS

    I started my career at the age of 16 writing code and still continue to enjoy..

  • Sep 12 at 08:23 AM

    Hello DJ,

    I would prefer Groovy as my day to day works needs it .Concise, brief, direct syntax helps to develop groovy scripts faster and easier.

    Regards,

    Sriprasad Shivaram Bhat

  • Sep 12 at 11:14 AM

    Nowadays the only - and therefore automatic favorite! - programming language I "speak" is ABAP but my all time favorite one is PL/1 and here is why:

    PL/1 was the programming language I learned from scratch way back when in 1985 when I had just completed by vocational training at Kodak and directly started to work in the IT-department they then had in Germany. Most of the systems Kodak Germany then used were written with PL/1 be it master data processing, accounts payable/receivable, pricing, sales and what not. After a couple of years learning, I also taught it when new colleauges or interns arrived which was fun to do. PL/1 was my introduction into programming, something I hadn't really known I enjoyed doing before.

    The other thing I liked about PL/1 was that it offered a fairly fluent transition to ABAP when that time arrived in early 2000 as the two languages share quite a lot of the same constructs albeit with sometimes different names and syntax.

    I still have at least one folder with example programs for sentimental reasons, but wouldn't be able to write PL/1 code today.

    Cheers

    Bärbel

  • Sep 12 at 11:34 AM

    I rarely use it in my daily work, but still have a warm place in my keyboard: Go (also dubbed as Golang ).

    Code readability is taken as a serious matter: Any object meant to be reused or called by others should be documented. lint will politely asks you to write them. You can also add a fancy topping of testable examples to it, just create a function with prefix "Example". Worried about that example code breaking? Don't need to, unit test also checks examples and warns you when it fails, so you can fix them too.

    Testing also features a benchmarking tool. It will call your code many times as needed to have a reliable measured time.

    Having a bad day? Want to press panic button? Go for it, literally, and it will happily backtrack for someone else rescue you.

    Going with concurrency? "You start a go routine with the go keyword, you say go space... and then function call. (....) three keystrokes and you just started a subprocess.". It even detects deadlocks for you.

    The language aims for readability. It provides a standard tooling, formatting, testing framework. You'll feel familiar with any Go code, because patterns help you with that. Even a representation of its mascot is easily recognizable, because it have a model sheet about how to draw it. You can't be more methodical about (visual) readability than that.

    Some say that it lacks features that other languages provide (like list comprehensions), but as its own creators said it wouldn't make it better, just bigger, and that goes against its main goal. How many READ TABLE variations exists in ABAP? Include both obsolete ones (because you'll need to know to work with legacy code) and indexed one; also include the target (TRANSPORTING NO FIELDS / INTO / REFERENCE INTO / ASSIGNING), also with (primary/secondary) table key or free search (that also can be by binary search).The initial minutes of video referred on concurrency paragraph explains why they choose that way.

    Yeah, language at first can look bitter since there aren't many syntatic sugars that could speed up things, but is my favourite one because readability as first goal means bugs don't have much space to hide. Less time fixing, more time doing important things.

    badday.png (27.2 kB)
  • Sep 12 at 11:41 AM

    I really don't have one. Different tasks require different tools. Java is suited to some tasks. But Kotlin is better.

  • Sep 12 at 12:25 PM

    my vote is for Scheme. It has a zealot-inducing awesomeness.

    Scheme is simple enough to be used as a first language and complex enough (cf. call/cc) to make my head spin. The highway to Scheme is to write your own interpreter in your favorite language (cf. ABAP Scheme).

    Syntactic sugar causes cancer of the semicolon.

    • Sep 18 at 09:55 AM

      A great choice, Jaques. And thanks for sharing that Perlis quote - I'd not heard that particular one, it's great!

  • Sep 12 at 12:30 PM

    My favourite programming language is for sure ABAP, because I can relate to it very much. E.g. growing slowly but strong, it solves business problems and whenever somebody raises a doubt saying "is ABAP dead?", it leaps forward to new heights with new features.

  • Sep 12 at 01:21 PM

    ABAP is the language that brought most of us to this community so it's not a surprise that both emotionally and professionally it is being at the top.

    Lately I'm more into Javascript (makes me feel like a hipster :P).

    I've used C# for various types of other projects and I like it (.net core makes it more appealing).

    I'm using Java only if I have to.

    I've built iOS apps using Objective-C and it was okay after couple of apps but it's not friendly overall. Swift feels more intuitive when you are familiar with Javascript.

    I really want to dive more into Go and Python.

    Happy Programmer's Day!!!

  • Sep 12 at 07:06 PM

    Object-Oriented ABAP! (But please ... use all lower case! And please no type prefixes on variables!)

    ABAP rules for me in the business application domain because 1) it integrates seamlessly with the database and 2) it is strongly typed. Being strongly typed is a godsend with all these tables with so many columns.

    ABAP is not perfect, I'm missing namespaces like in C# etc. (using construct) and of course, the 30 character variable limitation is simultaneously a blessing and a curse. Wish SAP would develop a consistent OO framework covering "all" existing function modules, similar to what .NET did. I.e., nice consistently named classes for things like FILE, DIRECTORY, STRING, EMAIL, etc.

    For the record, I learned programming in the early nineties, C and C++, and... Eiffel, still sad that language never became popular! :-)

    • Sep 18 at 09:57 AM

      Solid reasons for ABAP (altho I'm not a fan of OO myself, which is probably why I don't know that much about Eiffel) - I like strong opinions.

  • Sep 12 at 08:07 PM

    Hi,

    when I was a child, I started with BASIC and Assembler on my Commodore 64. Later at school we learned COBOL, which I really liked. In some areas, COBOL is similar to ABAP.

    But my favorite language is of course ABAP - it is an intuitive, easy to read language in which you can get results very quickly. I remember me when I had to create reports in R/2. With the logical databases, the work was mostly done in less than an hour. Btw it's incredible, but logical databases are still there.

    It's not only the language, but the entire (Netweaver) environment that fascinates me.

    Over the years, many features have been added to ABAP so that today it is a very, very powerful programming language. For example, just think of innovations like RAP or Steampunk.

    Regards,

    Johann

    • Sep 18 at 09:58 AM

      Definitely - a language doesn't exist in a vacuum - innovations like RAP make ABAP even more appealing.

  • Sep 12 at 11:43 PM

    lots of interesting answers, and even more interesting histories !!

    Ultimately all languages runs on "the box" and you can't run the language if someone hasn't installed the language, so ... I have to say that my favorite language is the one that comes with the box, i.e.

    • BASIC (for the old-skool commodore and trash-80-'s etc)
    • The Windows Command Prompt (officially called Windows Command Processor) and PowerShell
    • *NIX shell scripting

    You can't install any of the other goodies I've used over the years without an SAP environment, web sites, and / or a DBMS to run something against, or install Tomcat / Apache, Cobol, Node.Js Python, PHP, Rust, Go, etc without access to the operating system command line.

    Of course, sometimes it takes longer to get from the initial prompt to actually being able to execute your programs, but so long as someone is willing to pay me a subsistence wage, I'm happy to play !!

    hth

    • Sep 14 at 05:41 AM

      Thank You Martin English ! I though I was alone with the perfect BASIC !

      GOTO was an amazing statement, never understand why it was not used by other language ;)

    • Sep 18 at 09:59 AM

      Nice thoughts Martin. Altho I do wonder how you can like BOTH the Windows shell flavours as well as the Unix ones ... I can't stand the Windows ones, they just feel broken to me. Ah well :-)

      • 3 days ago

        TBH, I agree with you DJ, but life is like working with wood (or DevOps for that matter)

        - don't hide from the hard or uncomfortable bits, work with thjem till they're smooth

        • 3 days ago

          I'd go along with that philosophy, but the Windows shell has been (to me) broken since the 80's DOS version, and I don't suspect it's going to be fixed, despite how coarse the sandpaper is :-)

          • 3 days ago

            DJ,

            they have felt your pain at Microsoft and fixed it for you by putting linux inside Windows, haven't they?

            btw, they broke my hardware along the way, but that's beside the point.

            Happy Friday!

            gm

  • Sep 13 at 02:01 AM

    Javascript these days.... it works both on Client and Server... so I get two for one!

  • Sep 13 at 06:21 AM

    Congratulation everyone!

    Right now my favorite programming language is JavaScript. However, I would like to say huge thanks to Riga Technical University which open the door into programming with Pascal and Assembly. Without the basics I’ve learned there, I would not have a possibility to celebrate programmer days nor share my favorite programming language :)

    PS ABAP is not dead

    • Sep 18 at 10:33 AM

      Ah, yes - Pascal seems to be very influential in some programmers' early careers. And rightly so! Wasn't it created as a "teaching" language anyway?

  • Sep 13 at 07:32 AM

    My first projects were written in plain C - hah pointers!! :D I got into ABAP as part of a job.

    Since it is what I do most of the time now, I think that ABAP is my favorite. I like the concepts of integrated SQL, internal tables - which make it so strong for it's application. Good thing that it keeps advancing with time - I'm not sure if i'd like it that much if there were no new features since the 1980s..

    Don't forget about python for small side projects! I like that it's a fast-to-learn and good-to-read language. I still have to try Go at some time..

    • Sep 18 at 10:34 AM

      Pointers and guns pointing to one's feet - two concepts I associate together :-)

      • 3 days ago

        Heh heh, comparing pointers with weapons is a good one. I'd prefer to compare them to sharp kitchen knifes. Truly weapons in the wrong hands. Risk of self injury for the unskilled. Tools of wonder for the masters(In one of my internships my mentor showed me an array of function pointers for button handling). Handle with care! No wonder modern programming languages hide the pointer concept under the hood. But remember: You have a hard time accessing heap without them. Or what do You think your programming language does with a 'create/new <object>' statement?

  • Sep 13 at 09:05 AM

    My favourite programming language is Scala. It combines a powerful object-oriented system with functional programming concepts, like higher-order functions, type classes, pattern matching, etc...

    It is a strongly static typed language with type inference. Scala compiles to Java and Javascript, which makes it ideal for frontend and backend development with the same language in the cloud world. Furthermore it has deep ecosystem with powerful libraries like Akka, Spark, Kafka, just to name a few.

    • Sep 18 at 10:35 AM

      I've enjoyed reading Scala code, not written any tho. There's a great book "Functional Programming Patterns" (Pragmatic Programmers Press) which has some nice Scala examples. Any possibility of writing for the JVM but not in Java is a pleasant one! PS Nice to see you on today's #HandsOnSAPDev!

  • Sep 13 at 09:43 AM

    My go-to language for programming would be Java; so I guess that can be called the favorite :-P

    I find it the easiest to express the design in Java, easy to learn and understand, plus platform-independent. (no claims of it being the best, but Java is surely one of the front-line programming languages).

    In today's programming space it is imperative we adapt to the language that's is the most appropriate to achieve the task at hand and keep personal preferences aside.

    Happy Programmer's Day!!!

    • Sep 18 at 10:36 AM

      Definitely decent opinions that I respect (even tho I can't entirely agree on Java ;-)

  • Sep 13 at 09:52 AM

    I have started my career as GIS developer. In my Initial days of career, I have developed desktop software and web sites, using GIS package and programming framework such as MapInfo, MapXtreme integrated with VB.net, ASP.net, Ajax, JavaScript, CSS, HTML. Later I came to SAP world. Started working as SAP-ABAP Developer and experienced with SAP new technologies such as SAP-HANA, SAPUI5 and other programming languages such as Python, GoLang and XCode applications. I basically love to explore programming in any programming language which is required fulfill the business requirement however personally I like very much ABAP, SAPUI5 and XCode-Swift.

    • Sep 18 at 10:37 AM

      Another polyglot - there seem to be many in this thread, welcome! :-)

  • Sep 13 at 10:42 AM

    I like always ABAP language and I have started my career as an ABAP developer.Based on my experience as a business language,the way the program paradigm designed is easy to understand to write and to resolve complex business scenarios.It includes the concepts of layers,it is heavily oriented towards the server-side.

    ABAP always rocks!!

  • Sep 13 at 04:14 PM

    I love SAP ABAP, there are many fourth generation languages, but ABAP its high level architecture and database interface supports open SQL and Native SQL. SAP can work on any database but same ABAP code works on it.

    Though it has few similarities with PROGRESS 4GL, openedge technology, ABAP has consistent growth it's version history is the proof of improvisation of this language.

    • Sep 18 at 10:38 AM

      A nice reminder of the "4GL" moniker ABAP was adorned with when it first came out!

  • Sep 13 at 04:35 PM

    I started with C and C++ at college and had worked in Java, JavaScript, the old DHTML, PHP, Python. But my bread and butter had remained ABAP. There are many reasons for me to be in love with ABAP. The ease of coding, the use of anything within customer namespace. The upward capability support, and recently amalgamation of the ADT tools had made it a more smooth ride. ABAP has evolved and there had not been much trouble coping with the new version 7.4

  • Sep 13 at 04:47 PM

    My all time favourite is C/C++ from college days.

    But a tiny step into a professional life and got hitched to ABAP. Since then it has been a never ending love affair with ABAP for me.

    I love this language for its flexibility, ease of coding and comprehensive debugging tools. With RAP now it is ready to conquer the Cloud world as well.

    Long live ABAP ��

  • Sep 13 at 08:21 PM

    I guess mine would be C#, it was the first language I really learned during my apprenticeship!

  • Sep 13 at 09:37 PM

    I am doing modern JavaScript (UI5, node.js, TypeScript), Java, some ABAP and other stuff these days, but my vote goes to Ruby. I got in contact with Ruby back in the good old Web 2.0 days and I immediately fell for it, because of its clearness, consistency and powerful meta programming model. Ruby was designed by its creator Matz to make programmers happy, which immediately struck on me. And since leaving the Ruby (Rails) world, I haven't felt this kind of joy in writing code, even if other languages and frameworks are really fun to code too.

    • Sep 18 at 10:43 AM

      Definitely agree with you on Ruby, it's a pleasure to write in, Matz really did a great job.

  • Sep 13 at 11:48 PM

    My first language was TurboBasic (a Borlad version of the more famous GW Basic) but my first true love was Java. I will still have my first applet from 1996 on some floppy disks (yes I still have them ...).

    Is thanks to Java that I became a developer first and then a good programmer later. And is thanks to Java that I joined SAP in 2003 just in time to see the birth of Netweaver and all the java technology that came from it in SAP.

    Thanks a lot JAVA, I am what I am thanks to you!

  • Sep 14 at 01:26 AM

    I learned to code in C++ at College, and coded in Lotus Notes Script, Java, Visual Basic and C# in my first job at IBM.

    Learning Classic ABAP was a challenge for me because I used to compare it with the languages I worked on before.

    I would say that after a few years ABAP became my favorite language because it is the language I have worked on the most.

    • Sep 18 at 10:45 AM

      I like the adjective "classic" here for ABAP, others have mentioned "modern" ABAP too.

  • Sep 14 at 03:22 AM

    ABAP because it pays my bills. I started out doing Commodore BASIC and my 1st professional programming job was as a C Developer. I would love to go back to those days where all you needed was a copy of the K&R book and no one knew what google was.

    • Sep 18 at 10:45 AM

      Definitely - innocent times, eh? I still have my K&R, but it's the ANSI C edition.

  • Sep 14 at 07:41 AM

    I'd have to say JavaScript, even though I develop in ABAP on a daily basis.

    However, JS is easy and simple for the beginners, yet still very powerful. And if one is an advanced JavaScript developer, the language can be complex and gives advanced features and possibilities as well. It can be tested and executed on a high variety of devices. It can be developed, tested and executed without a need for anything except the basic operating system, text editor and a web browser.

    Cheers!

    Mateusz

    • Sep 18 at 10:46 AM

      Great points, yes, JS is one of those languages that can be whatever you want or need it to me. Multi-paradigm, and great for beginners and power users alike (esp. when combined with TS).

  • Sep 14 at 10:03 AM

    I had a lot of my favourite programming languages through my coexistence with computers.

    Back in a time - it was BASIC on a ZX Spectrum (or our Czechoslovakian clone Didaktik), because there wasnt anything else there.

    QBasic on a 286 and 386 PCs was also nice - at least it was pre-installed on every DOS computer and therefore really easily accessible.

    But when In 90-ties after Velvet revolution, I got access to the Borland C v1.0 in my Dads office and it was my favourite language for cca 10 years.

    But it has changed when I met Python. I was on University that days and I was also Python evangelist there. I was constantly tried to convince our faculty department to change the programming lessons to involve Python instead of Pascal. It has been changed, but only I left the school - so kind of post mortem :)

    I had another 10 years period of ABAP - because it was my daily bread. But now it is Javascript - because it is language of language of many faces. It is available on full stack - I really like NodeJS with its whole ecosystem and really easy setup and use. But also UI5, Vue, React, Angular on a frontend. In fact whole MExN (MEAN, MEVN, MERN and in SAP also MEUI5N) stacks are really cool. And you can have it typed (Typescript) or untyped (vanilla). You can use ES6+ features or old school JS. JavaScript is quite saving in terms of characters used for write a thing. I really dont like how talkative is Java. Just hello world took you half a page to write.

    And I also like a lot how you can swap JSON for JS object. And many more cool features...

    So in short - I got a lot of my favourite languages through time - but now I like JavaScript the most.

    • Sep 14 at 11:49 AM

      And would you move back from JS to Python? ;-)

      • Sep 14 at 11:59 AM

        Probably yes if python would give me such easy use on frontend side. But it would mean, that google have to implement python V8 into chrome (and other browsers too).

        But I was a little bit unfair on python - I did not mention, that I still use python and python has one indisputable advantage - it is formal language of data engineering including the ML and AI.

        If I would wet my feet more in this wonderful river (of ML and AI) - I would use Python much more. And I have to say, that I would like to...

    • Sep 18 at 10:50 AM

      Quite a journey! I think ending up with JS is not a bad thing :-)

  • Sep 14 at 12:09 PM

    I program in ABAP and JAVA - I've programmed in many others, but these are the ones I've been doing far more than the others, among which REXX was kind of cool.

    I generally prefer ABAP to JAVA, since ABAP is a far richer language. The native implementation of internal tables is the killer feature, so far as I'm concerned. I also like named parameters, rather than positional/type.

    JAVA used to have the edge, as up to 7.31 ABAP OO was very clunky. With the new commands and syntax, that edge has been lost.

    But mostly I enjoy the action of programming. That's what's important.

    Asking which I prefer is little like asking whether I prefer to communicate in English, German, French or Linear A.

    Well, English is my native language, so I prefer that.

    I like being able to communicate in German as well, since I live in a German speaking part of the world. France is just across the border, and due to a quirk of my education, I've got a really good French vocabulary and know the grammar well but I'm very rusty - not enough practice. Linear A - well no-one knows how to communicate in that, so it's at the bottom of my languages list...

    But mostly, I like being able to communicate. That's what's important.

  • Sep 14 at 01:04 PM

    Starting at the age of 7, through my IT journey I had a chance to play with wide variety of languages, incl. HTML, PHP, SQL, C/++/#, R, JAVA, JS, VB(A), Python, Assembler and very little ABAP, but if I had to choose one among those, most likely it'd be C#. Why? I've had positive experiences of working with the MS Visual Studio IDE and quite well maintained and clear documentation.

    • Sep 14 at 01:15 PM

      Michał, I never heard about C# from you. I am glad I asked :-D

    • Sep 18 at 10:52 AM

      Another great comment that underlines that it's the language plus its environment that often matters more than just the language.

  • Sep 14 at 03:04 PM

    I like working in Java, although I also work in many other languages depending on the needs of the project I'm working on.

    I like it for many reasons:

    - The SAP BusinessObjects SDKs for Java are fairly easy to use if you're familiar with how they work and they have more features than the versions for .NET, RESTful Web Services, and SOAP Web Services.

    - I can develop on Windows, which is what I'm used to, and have the same code run on most flavors of *nix if that is what my client is using.

    -Dell

    • Sep 18 at 10:53 AM

      Universality is a great asset; Java has it and perhaps was the language that set the standard and drove that whole idea. "Write once run anywhere" was the motto, right?

  • Sep 14 at 06:45 PM

    My favourite programming language C and C++ , best for logic building and very close to my heart as we used in college days

    • Sep 18 at 10:54 AM

      Another mention of "heart" - I love how the passion comes through here.

  • Sep 15 at 08:15 AM

    // My favorite programming language

    class HelloWorld {

    public static void main(String[] args) {

    System.out.println("I love Java, because I do!");

    }

    }

    • Sep 18 at 10:54 AM

      While I can't agree ;-) ... I *love* the way you expressed your preference!

  • Sep 15 at 02:21 PM

    I guess it's too late for the badge, but anyway.

    There are quite some programming languages that had crossed my life. I just won't be able to list all of them, especially those which briefly touched. But I think that still, most had left some sort of an imprint in one way or another

    • be it basic, which led me into all this
    • be it smalltalk, lisp, gopher, haskell at study times (which all fitted the tasks at hand quite perfectly - due to some of the choices by the profs)
    • be it Java as a shiny new language (back then)
    • be it C including hard-core-memory-keeping in large academic software projects
    • be it Java in the enterprise world
    • be it JavaScript in it's beginnings
    • be it ABAP, which I started loving the moment I learned the syntax of CONCATENATE a b INTO c SEPARATED BY space.
    • be it JavaScript in more recent web development in the course of the last decade
    • and now again turning focus to JavaScript in the backend development
    • Sep 18 at 10:55 AM

      That's quite a journey too! I wonder how Haskell has influenced your programming thinking? Or even Lisp? If at all, I'd guess "positively", right?

      • yesterday

        well, it is too long ago to remember how haskell had influenced my thinking, but I certainly DO remember that the professor who used haskell definitley did. That was the first time I defined a language syntax and then implemented an interpreter in haskell and then a compiler, and then another one (one using lazy evaluation, the other using eager evaluation.

        about lisp: I think it had forced me to turn that wheel in my head to see all operators as "some sort of functions" - to separate that thinking from the actually used syntax (e.g. a binary infix operator is a function, too). And the prof who used lisp went intensively through lambda calculus with all the reductions. And it might have been the first confrontation with the concept of functions which return functions which return functions which return functions :D

        back then, I just had fun learning all that theory. now I know, these were important lessons.

        • 14 hours ago

          Indeed. I never learned these concepts when younger (I studied Classics at Uni) - must have been wonderful to learn them consciously and with purpose, esp. with someone who was inspiring too. Great to read about, thanks Sergei!

  • Sep 16 at 04:04 PM

    Not a favorite, but wanted to relate an experience that has shaped my career for the last 30+ years.

    When I was at University, one of the mandated courses in the computer science curriculum was called Survey of Programming Languages. We learned 11 different languages in 11 weeks, implementing the same project in each language. It COMPLETELY removed any fear of learning programming languages. Once you start seeing how a language is crafted to approach a problem domain you gain a broader perspective language design and see each one in terms of specific rationals and decisions(and trade-offs). Dusting off my synapses, here are some of the languages we used over the 11 weeks.

    Pascal

    C

    Modula-2

    LISP

    Fortran

    APL(Array Programming Language : required a special keyboard)

    Prolog

    4 others that escape me.

    The pace of learning was intense, but the end result was worth it.

    -Andrew

    • Sep 17 at 11:20 AM

      Wow! Sounds really intensive

    • Sep 18 at 10:56 AM

      Intensive but also worthwhile - there's a saying that one should learn a different programming language on a regular basis (annually?) to keep the brain active and also to experience completely different ways of approaching a problem space and describing a solution.

  • Sep 17 at 11:10 AM

    I started out in BASIC and soon moved to Assembler, then zig-zagged through a few languages in between.

    My favourite remains ABAP, also having fun with JS & TS, but one that deserves a mention for sheer cool factor is Rockstar

    • Sep 18 at 10:57 AM

      Nice mention of Rockstar - I take it you saw that Art of Code talk? https://www.youtube.com/watch?v=gdSlcxxYAA8 - if not, recommended!

      • Sep 18 at 11:26 AM

        No I haven't seen it, that's my lunch break entertainment sorted, thanks :-)

        Another fun concept is Train. I mean, who doesn't like a programming language with data types of numbers, letters and dinosaurs! Online version over here - it's a bit iffy to find your way around, use gear icon to run Hello World.

  • Sep 18 at 01:35 AM

    my first one was

    Assembler on IBM System/360

    • Sep 18 at 10:58 AM

      From a career perspective (rather than hobbyist), that was my first language too.

  • 5 days ago

    My journey was Basic->Pascal->C->C++->Java.

    Each Language was perfect for it's own stage of evolution.

    Basic/Pascal was the wild time with trial and error, no clue how things work and being an absolute beginner.

    C/C++ : Unforgiving and cruel. Told me many lessons for life. 0 errors, 0 warnings does not mean your program works. They told me discipline, precision and pointers. Oh the fun when abusing pointers. But oh the satisfaction when a C program works and runs like hell.

    Java: like C, but with full protection gear. Perfect for me. When you have understood how the language works under the hood, you can do miracles even with Java.

    That's why I'm with Java. It's sugar if you stood your ground through more crude languages.

    Other upsides I like: stability over time. If you avoid frameworks your programs work through ages. Then you never get deprecated issues. Just like the assassin in LOD:'If I kill something, it stays dead.' If I solved a problem it stays solved.

    In my job I got contact to ABAP. You write some test programs according to the book(ABAP in 20 days). And every now and then you get bothered that this or that is not cosher, any more. If something turns out to be oh so evil, why was it allowed in the first place?? This violates my feeling about discipline and precision. That's why I have a hard time to understand why you love ABAP? Honestly. I don't understand it as an outsider. Please don't take this personally. If ABAP has upsides, it simply didn't reach me.

    No hard feelings please. I'm just a dino.

    • 5 hours ago

      I program in Java and ABAP. I learned OO principles from Java, and then took them over to ABAP. When you're coding OO ABAP, there's no much that was ok in 2000 that isn't ok now. I can't actually think of anything. Maybe that back then, not calling the super constructor in a constructor wasn't a syntax error?

      I understand what you say about "discipline and precision", but I find that I apply the same diligence in both languages. I've seen undisciplined and imprecise programs in both languages. There's no reason at all that you can't write in a disciplined and precise way in ABAP.

      ABAP is a rich language - that's what makes ABAP so great. Java is a simple language - that's what makes Java so great.

      ABAP is,much more scaleable than Java. Java is far better for writing multithreaded programs than ABAP.

      But once you get to a certain level of abstraction, there's not much difference, in my opinion, between programming in Java and programming in ABAP. I'm currently working on a project that involves both - a plug-in to Eclipse which calls ABAP function modules in the SAP system. I really enjoy both environments.

  • Add a comment
    10|10000 characters needed characters exceeded