Just curious (programming languages used)

Any other tech-related topics
Post Reply
Message
Author
User avatar
tactictoe
Posts: 283
Joined: Thu Dec 10, 2015 10:56 am
Location: A galaxy far far downunder
Contact:

Just curious (programming languages used)

#1 Post by tactictoe »

They are so many languages for developing software these days but a few emerge from past and present language. Just take a look at this impressive list here: https://en.wikipedia.org/wiki/List_of_p ... _languages.
:?: I was wondering for the few of us which is the one you use the most for personal and/or professional reason. Also which one you absolutely dislike. And finally which one you would recommend for a learner/beginner.

:!: My two cents:

Like
At work: Microsoft Visual C++, RB5 Assembler aka A.L.I.C.E. (Created at work and will never be released to public), Pascal Language Delphi and Lazarus
At home: Delphi XE7(Pascal), Delphi 7(Pascal), PyCharm (Python), Lazarus(Pascal), DEV-C++ (C++),Logo (LOGO) for some robotic fun project, MIC (Personal language developed for creating music and VST in a snap, Yep I compose music. Why: music is mathematics, and I love to compose... one of my favourite composition: https://soundcloud.com/tactictoe-1/chill-water-bluesmp3) .

Just love the old Pascal language and C++ the most. With modern IDE and also the ability to find Free IDE and compiler and/or linker they are nothing these two languages cannot do.
Free pascal: borland delphi 7 is free now, Lazarus is a free Pascal language similar to Delphi 7.
Free C++: Dev-C++ is free and great tool too.

Dislike
At work and at home: C# (I just dislike .net), Visual Basic (the runtime libraries are putting me off... to many dependencies), Java (very popular but not for me for personal reason I won't explain here)

Recommended
Python is must for beginner IMHO, half way to all other modern languages as in C++, Java, Delphi and the like. It is easy to learn and so much better than visual basic in term of speed and reliability. There is also a huge community supporting this language. Delphi 7 or Lazarus is also very good and as Python has a huge community to support the pascal language. IF you want to go pro you can also dive immediately into C++, it is not so hard to learn and it still one of the most professional used language on this planet. And if you are interested into creating your own game only why not trying the Game Maker Studio?

For these language I recommend:
Python: PyCharm Community Edition https://www.jetbrains.com/pycharm/
Pascal : Lazarus http://www.lazarus-ide.org/
C++: Dev-C++ http://sourceforge.net/projects/orwelldevcpp/

So what are your preferences?

Anyway I was just curious, have all a nice day. :D

NickR
Posts: 105
Joined: Thu Aug 26, 2010 6:37 am

Re: Just curious

#2 Post by NickR »

Hi tactictoe

PureBasic is my GOTO (deprecated! :-) ) Language nowadays
There is a small one-off licence fee, but that includes compilers for Linux Windows and Mac.
BASIC what could be simpler
The IDE is great
The project is very active and professional
Active community
Small exe s

which one you would recommend for a learner/beginner?
...For a beginner to dabble - ie write 20-50 line progs to see how they work - not sure Certainly a non compiled lang
...but a beginner with a project - Purebasc - free edition

http://www.purebasic.com/
The main features of PureBasic

- Huge set of internal commands (1400+) to quickly and easily build any application or game
- All BASIC keywords are supported
- Very fast compiler which creates highly optimised executables
- No external DLLs, runtime interpreter or anything else required when creating executables
- Procedure support for structured programming with local and global variables
- Full Unicode support
- Access to full OS API for advanced programmers
- Easy but very fast 2D game support through dedicated libraries (DirectX, SDL, ...)
- Easy and high quality 3D support based on OGRE
- Optimal use of the available hardware by using highly optimised (assembly) commands
- Source code is portable between Windows, MacOS X and Linux
- Dedicated editor and development environment
- Powerful integrated debugger and profiler to easily trace and analyse code

Specific features depending on the OS
Pure Basic for Windows
Pure Basic for Linux
Pure Basic for MacOS X
Also

I believe there are several of us here on this forum who 'role there own' programs
and wouldn't mind contributing them to the community ( If it could be done in a hassle-free manner :twisted: )

Maybe we should setup could be a sub-forum somewhere

A bit like 'Resources & Links'
...maybe 'Member Contributed Tools Utils and Programs'
or maybe 'Members Utils Programs Exes Tools Selection' MUPETS :)

I, obviously, have a couple of my own in mind that friends and colleagues find useful
but I haven't put out there, as I have seen many times how demanding the recipients of freebees can be :roll:

NickR

User avatar
SYSTEM
Posts: 2043
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Just curious

#3 Post by SYSTEM »

I guess I'm quite lucky to like nearly every language I have used. :)

C++. C++ has a high number of language features such as destructors, friends, multiple inheritance and operator overloading. These features are often useful and I wish I had them when I program with other languages. The ability to manually specify whether to pass an object by value or by reference is nice as well. One thing I don't like is the tiny standard library that is missing a lot of important stuff such as 2D graphics and GUI components.

Lua. Lua has a very simple and elegant design. In particular, the way to remove an element from a table is to assign nil into the corresponding index:

Code: Select all

t[i] = nil
Things such as classes are easy to implement in Lua. Lua also has the disadvantage of a very small standard library, though. (A small standard library is pretty much a necessity for many use cases of Lua, though. A larger standard library would consume significantly more disk space in e.g. a game that uses Lua for scripting.)

Ruby. A highly dynamic language with tons of syntactic sugar. Duck typing, passing blocks as parameters, metaprogramming, a large standard library... Ruby gives the programmer a lot of toys to play with.

C#. An enterprise-grade JIT compiled language with automatic garbage collection and overall good design. Language designers have understood which features would be useful and have added them over the years (such as generics in C# 2.0 and auto-implemented properties in C# 3.0). Speaking of generics they are reified. There are also other situations in which C# implements language features in a superior way compared with Java (see the article). The C# standard library, aka the .NET Framework, is massive.

JavaScript. While JavaScript was originally designed for only adding minor features into web pages (such as changing an image to another when it's hovered) and it has had trouble scaling to modern use in web apps which can have even tens of thousands of lines of JavaScript code, Ecma International (the organization which currently develops JavaScript) has done excellent job in improving the language. The latest version, ES6 Harmony, added a lot of useful stuff such as classes, for/of loops, arrow functions, typed arrays and promises. Too bad it will be a long time before web developers will be able to use the new features (unless they use polyfills which implement them on top of older JavaScript features) :( .

There is one language I have used and dislike, though...

Java. Checked exceptions are checked at compile-time, meaning that the developer has to "handle" exceptions which are actually impossible. C++, that also has checked exceptions, checks them at runtime: if the exception turns out not to be so impossible, the program will crash and the programmer will be alerted about the situation. A Java programmer will need to write boilerplate code to achieve the same result. C# designers realized this problem and didn't implement checked exceptions.

Java designers have avoided allocating new keywords at any cost: they e.g. reused the extends and super keywords for generics, which makes generic code mildly confusing from now to all eternity. And again, there are many minor details in which Java is inferior to C#.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
SYSTEM
Posts: 2043
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Just curious

#4 Post by SYSTEM »

NickR wrote: Also

I believe there are several of us here on this forum who 'role there own' programs
and wouldn't mind contributing them to the community ( If it could be done in a hassle-free manner :twisted: )

Maybe we should setup could be a sub-forum somewhere

A bit like 'Resources & Links'
...maybe 'Member Contributed Tools Utils and Programs'
or maybe 'Members Utils Programs Exes Tools Selection' MUPETS :)

I, obviously, have a couple of my own in mind that friends and colleagues find useful
but I haven't put out there, as I have seen many times how demanding the recipients of freebees can be :roll:

NickR
I haven't noticed such a problem myself. I tend to share every program I create. Regarding Keppi, I just asked myself "why not share it?".
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
tactictoe
Posts: 283
Joined: Thu Dec 10, 2015 10:56 am
Location: A galaxy far far downunder
Contact:

Re: Just curious

#5 Post by tactictoe »

:D Interesting answer so far. Thank you guys, I appreciate you gave your time here to answer this curious need of mine.

I am for now having interest in RUBY too and found a URL where you can learn the rope of this language: https://www.codecademy.com/learn/ruby. and can be downloaded in it's last stable version (2.3.0) here: https://www.ruby-lang.org/en/downloads/.
I tried PureBasic too, I like the idea to have this one able to compile for Amiga OS, my favourite PC of all time. However, I cannot get used to it so far, but won't give up till I can make an aware answer to this one, but okay it's me only. I guess I have some sort of allergy to the BASIC language... Nonetheless it seems good enough for a beginner. Still, Python is my choice for beginner. On the other hand, I forgot to mention ALICE (not the one I mentioned in my earlier post) for young student:
http://www.alice.org/index.php.

So having said that, we have common point guys:
- We like structured language, with IDE, the ability to create polymorphic classes and I guess Exception management is also important at design time.
I would love to hear from more developer and I hope they will find their way to this topic. You never know.


ACADEMIC:
I believe there are several of us here on this forum who 'role there own' programs
and wouldn't mind contributing them to the community ( If it could be done in a hassle-free manner :twisted: )
I rule my own software, I wrote a lots of tools dedicated to task I repeat the most. However if a software is good enough for the community I just share it. I post it here from now on. Even the software is not published as easily as other sites permits, you have the advantage to have a community beta testing it for free in a way. They are also critics and comment and suggestion coming along the way. Of course, if you are posting it here it has to be free and portable regarding their rules (defined by all of US) and you need to wait you have enough vote to get it through. But if it goes thru: your software will be boosted and people will hear about it. Something like effort and reward, I do not think it is a hassle. Think about it: more advantage than anything you could find anywhere else. You can still publish it on your own site and refer it to other site for publication. Of course, you will have to follow you own software submission in forum (here) but isn't it similar with other website? My hassle is more a scare thing: not being published. IMHO, that is the only 'hassle' I have and probably it is the same for everyone; it also apply to every aspect of life for various reason. I call it the 'What if scare factor', a good scare for once; it shows we are human and not perfect even we strive for it in our own way.

User avatar
SYSTEM
Posts: 2043
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Just curious

#6 Post by SYSTEM »

tactictoe wrote:So having said that, we have common point guys:
- We like structured language
You're (accidentally?) implying that we don't like newer programming paradigms. Four of the languages I like are object-oriented (C++, Ruby, C# and JavaScript).
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
tactictoe
Posts: 283
Joined: Thu Dec 10, 2015 10:56 am
Location: A galaxy far far downunder
Contact:

Re: Just curious

#7 Post by tactictoe »

:wink: Accidental is the word, I did not meant such things neither try to offend anyone. On the other hand did I say anything about what you do not like? How can I know what you like or dislike? I do not try to read mind, I just can't do that. So if you think I did imply anything with my comment, you are right it is an accident. By structured Language I meant we have that in common deducted logically from both answer, no back thought at all. Object oriented language are structured. And if you read my preferences the language are use are ALL object oriented. That's all. :D

Have a nice day.

User avatar
SYSTEM
Posts: 2043
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: Just curious

#8 Post by SYSTEM »

tactictoe wrote: :wink: Accidental is the word, I did not meant such things neither try to offend anyone. On the other hand did I say anything about what you do not like? How can I know what you like or dislike? I do not try to read mind, I just can't do that. So if you think I did imply anything with my comment, you are right it is an accident. By structured Language I meant we have that in common deducted logically from both answer, no back thought at all. Object oriented language are structured. And if you read my preferences the language are use are ALL object oriented. That's all. :D

Have a nice day.
Okay, I see. It's just that the term "structured language" usually means "not object-oriented/prototypal/functional/other newer paradigms" because non-structured languages are almost extinct at this point.

I wasn't offended, just pointing out that your post can be misinterpreted.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

xor
Posts: 106
Joined: Sat Apr 18, 2015 11:02 pm

Re: Just curious

#9 Post by xor »

I think "structured" was the unfortunate word.
I learned programming in the days of turbo pascal, cobol, qbasic, dbase-clipper, I wrote thousands and thousands of lines of code just to achieve the simplest "structured results" and I was darned good at it. Then came the OOP setting the basis for the current modern prototypal way of programming and all those libs and frameworks that I considered myself to be a noob at although I get the exact picture of what's all about. Currently I can understand and I am capable to learn any language if I have the time and the purpose for it, but here I am sitting here reading this interesting thread seeking to find the inspiration of programmers and developers that do it all for the sake of developing useful software.
I have no favorite language and I don't dislike any of the ones I have used, they all have had and will always have a place, a use and a purpose in mi mind and life. ;)

User avatar
tactictoe
Posts: 283
Joined: Thu Dec 10, 2015 10:56 am
Location: A galaxy far far downunder
Contact:

Re: Just curious

#10 Post by tactictoe »

Okay, I see. It's just that the term "structured language" usually means "not object-oriented/prototypal/functional/other newer paradigms" because non-structured languages are almost extinct at this point.

I wasn't offended, just pointing out that your post can be misinterpreted.
I think "structured" was the unfortunate word.
:shock: I can't believe I used the wrong word in an attempt to describe a fact. So much for the I(nformation)T dinosaur, I am I guess. I feel old in a sudden. What a misunderstood. Oh well, I learn something today. No wonder why when young developer look at me like I am a weirdo at work when I use the term to define a task. Oh la la. :D Glad, I did not offend you at all, as it was certainly NOT my goal. Thanks to clarify anyway.
but here I am sitting here reading this interesting thread seeking to find the inspiration of programmers and developers that do it all for the sake of developing useful software.
I have no favorite language and I don't dislike any of the ones I have used, they all have had and will always have a place, a use and a purpose in mi mind and life.
That is one of the thing that has always trouble me... which language to use for developing useful software. Keeping in mind that the software might not be maintained later by it's original author as language live, evolve and are forgotten. Always a harsh decision.

Have a nice day.

User avatar
Midas
Posts: 6725
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Just curious

#11 Post by Midas »

FYI, Lazarus v1.6.0 released (release notes are at http://wiki.lazarus.freepascal.org/Laza ... ease_notes).

User avatar
tactictoe
Posts: 283
Joined: Thu Dec 10, 2015 10:56 am
Location: A galaxy far far downunder
Contact:

Re: Just curious

#12 Post by tactictoe »

Midas wrote:FYI, Lazarus v1.6.0 released (release notes are at http://wiki.lazarus.freepascal.org/Laza ... ease_notes).
Thanks, Midas :D

Downloading... downloading... :wink:

Post Reply