BookmarkSubscribeRSS Feed
Tourmaline | Level 20

Hello Community,


I trust a lot of you folks in the areas of Data-management/BI/Analytics are increasingly getting used to becoming flexible in learning multiple languages such as R, Python(picking these two as it's often talked about) and of course our home -SAS are able to comfortably be successful/survive in industry. 

May I ask for an honest opinion? 


Was/Is Ease of learning multiple languages and being proficient a misnomer or real? If yes, how was your true experience? Personally, even the look of the syntax and the thought of picturing not I am familiar seems a show stopper for a start. However, yeah right, typical elders advice, work hard, keep at it, you will get the hang of it. Fair enough, but it seems to learn one properly, it seems it's ideal to actually unlearn what you know first. 


What gave/gives/would give you the confidence to meet the demands working in high paced environment where SLA's are short and strict? Or is it forums to the rescue with the approach, understand business needs, and throw the HAVE and get the WANT? If this can work, I wouldn't mind being corrupt and trying my hand on it. Well, why not, if I don’t, somebody else will lol


How did you manage the functionality in parallel yet not direct relevance like our PDV to a CURSOR in Oracle for example? Personally, once I get the intuitive sense of one, my mind seems to not comfortably hold different functionalities. 


Of course, if you are an Einstein or Nikola Tesla, none of these matter but a response from general human beings alone are welcome 🙂


Thank you for your time in advance

Super User

Ease of learning other (programming or actual) languages has a strong relationship to similarity of behavior.


As an introduction to the following: I have programmed to different levels of ability in SAS (version 5.18 onwards), FORTRAN (at least 4 dialects), BASIC (at least 8 dialects), PL1, COBOL, Pascal, Ada, REXX, IBM 360 Assembler, HTML, Ci3 (a CATI application) and DOS/WINDOWS batch languages,  and debugged scripts in a couple of others such as C, FoxPro and such.


I speak and/or read write English (native), Burmese, Latin, French, Spanish, German and Indonesian to very different degrees plus smatterings of phrases and such in Cambodian.


Learning Latin after French was helped by vocabulary though not conjugation and sentence syntax though some of the structures of Burmese helped the Latin (though no vocabulary or conjugations). English and German and French both have crossovers for vocabulary though conjugation of verbs in English has lots of elements rubbed off from both. Knowing English, French and German had almost no help learning Burmese except being aware that sounds and structures can vary from what I was used to. BTW, Burmese is tonal, only 4 tones, and English is very sloppy about voiced/unvoiced or aspirated/non-aspirated consonants in comparison.


FORTRAN, BASIC, Pascal, Ada and PL1 are quite similar to SAS data step programming in many respects, leaving out object oriented and/or overloaded operators. So those helped in working with others languages.

I haven't seen or used R yet. From what I understand of the principals involved SAS/IML familiarity may help.


Confidence might be based on knowing a general approach. I know I cannot directly use FORTRAN code but the knowledge about arrays and use let me know when I saw that SAS supported arrays that the general approach to part of a problem could be translated.


However there are also stumbling blocks based on assumed, or possibly habit, similarity:

Quick what does the following code do:

A = substr(var,2:5);

B = substr(var,2,5);


(Example from, IIRC, HP basic running on an HP2000/3000).

One of those lines starts to substring a variable (should be no surprise to SAS users) at position 2(also no surprise) but one takes 5 characters and one ends at the 5th character. Which one does which?


I have found with programming languages that it really helps me to have concrete tasks to perform where I know what the actual result should be. Generic examples of a few lines of code without context are not very helpful except in the sense of demonstrating syntax.



Opal | Level 21

I remember taking an undergraduate programming course in the 80's. We were handed a Pascal version of the code for processing regular expressions, and asked to make a small change to it. There were maybe 120 of us blank faced students in the room, bewildered by the task. The TA flippantly told us "Don't worry, in a little while you'll be doing a couple of those before breakfast."


Much later, when I first met the SAS language, I was not impressed. As a programming language it seemed quite deficient. But as a sequential data table processing language it is quite good, and fast! I often muse at the amount of programming I would need in a general purpose language to achieve what can be done with 10 lines of SAS code or a single SQL query.


When you find yourself cutting carpet with a handsaw, even if you are really good at it, it's time to move on. Either go back to woodworking or master some new tools.

Tourmaline | Level 20

Thank you Sir Mega stars @PGStats  and @ballardw  for your invaluable points and for your time. While it was so great and pleasing to read that you both  covered a lot of practical situations that one may foresee. I suppose in the journey of career and learning, one might need an element of luck as we do in all walks of life.  I can see  it's not quite  the moonwalk but..... (Sighs)


And Please do not doubt my courtesy for the late acknowledgement as that was on purpose as I took your points to my well wishers in the mean time and their opinion mirrored yours. So, I can't thank you enough!







Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

Discussion stats
  • 3 replies
  • 3 in conversation