Lazarus

Programming => General => Topic started by: Ericktux on December 12, 2022, 01:59:44 am

Title: recommend me a second language to learn
Post by: Ericktux on December 12, 2022, 01:59:44 am
hello brothers greetings, my first programming language that I learned (2008) is pascal with lazarus and I love it.  ;)
Today, on the eve of 2023, I would like to learn a second language to accompany and complement Pascal.
I beg you to recommend me which language I can learn.

I like to create desktop applications for windows and linux.  :)
Title: Re: recommend me a second language to learn
Post by: 440bx on December 12, 2022, 02:20:47 am
It's hard to recommend a language without knowing what you intend to use it for.

A recommendation I can make is, for processing text, learn AWK.  It's very easy to learn and it is quite capable when it comes to manipulating text  (sometimes, quite useful to generate Pascal code and/or SQL.)

Another recommendation would be, learn C and C++.  Knowing Pascal, C will be fairly easy to learn.  C++ is a different ballgame, the reason I recommend learning it is because more and more basic programming examples are written using it (particularly using its libraries).  Not knowing C and C++ is quite a handicap.  Just for the record, I very strongly dislike C and dislike** C++ but, learning them will make you appreciate Pascal even more :)
Title: Re: recommend me a second language to learn
Post by: Ericktux on December 12, 2022, 02:27:18 am
Thank you very much friend for your advice and suggestion.
I am a freelance programmer and I like to create desktop applications for windows and linux.
The mobile or web world doesn't attract my attention, I like desktop applications more.  :)
Title: Re: recommend me a second language to learn
Post by: s6nonqxt on December 12, 2022, 02:59:46 am
Adept lang: https://github.com/AdeptLanguage/Adept ;)
Title: Re: recommend me a second language to learn
Post by: PierceNg on December 12, 2022, 03:03:29 am
I am a freelance programmer and I like to create desktop applications for windows and linux.
The mobile or web world doesn't attract my attention, I like desktop applications more.  :)

Then my suggestion is to look into immediate mode GUIs, and try out any supported language for imGUI (https://github.com/ocornut/imgui/wiki/Bindings). Has a Free Pascal binding too, so you can start with that and move on to other languages.
Title: Re: recommend me a second language to learn
Post by: s6nonqxt on December 12, 2022, 03:13:36 am
I am a freelance programmer and I like to create desktop applications for windows and linux.
The mobile or web world doesn't attract my attention, I like desktop applications more.  :)

Then my suggestion is to look into immediate mode GUIs, and try out any supported language for imGUI (https://github.com/ocornut/imgui/wiki/Bindings). Has a Free Pascal binding too, so you can start with that and move on to other languages.

If it's about GUI then I suggest dwindows (https://dbsoft.org/) or NAppGUI (https://nappgui.com/en/home/web/home.html) :D
Title: Re: recommend me a second language to learn
Post by: egsuh on December 12, 2022, 03:24:05 am
Quote
immediate mode GUIs, dwindows (https://dbsoft.org/) or NAppGUI (https://nappgui.com/en/home/web/home.html)

What are these?

BTW regarding second language, SQL, Python, javascript, ...
Title: Re: recommend me a second language to learn
Post by: PierceNg on December 12, 2022, 03:57:10 am
Quote
immediate mode GUIs, dwindows (https://dbsoft.org/) or NAppGUI (https://nappgui.com/en/home/web/home.html)
What are these?

Traditional GUI frameworks are known as 'retained mode'. Immediate mode is a different way to structure GUI code. An example to hopefully give a flavour of the two modes:

In retained mode, the application sets up a button and attaches an on-click handler. The GUI framework receives the button click event and calls the application's handler.

In immediate mode, with following code, the application draws the 'save' button. When the return code is true, it means the button has been clicked so the application calls MySaveFunction; otherwise, the button is drawn but it was not clicked. The on-click handling is 'immediate'.   

Code: C  [Select][+][-]
  1. if (ImGui::Button("Save"))
  2.     MySaveFunction();

Some links:

- https://github.com/ocornut/imgui/wiki#about-the-imgui-paradigm
- https://www.reddit.com/r/explainlikeimfive/comments/eugfbr/eli5_what_is_the_difference_between_retained_and/
- https://learn.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode
Title: Re: recommend me a second language to learn
Post by: Nicole on December 12, 2022, 10:57:39 am
What about

- php
- mysqul
- html

Web interfaces are the future. And php will allow to develop them. There are many help tutorial and source codes around in php which will help.
Title: Re: recommend me a second language to learn
Post by: AlexTP on December 12, 2022, 11:09:17 am
Python; using it you can write plugins for Sublime Text and CudaText.
Title: Re: recommend me a second language to learn
Post by: MarkMLl on December 12, 2022, 12:14:09 pm
Anybody who suggests HTML as a language can't be serious: it's a /markup/, not a /language/.

I was actually going to suggest SQL as worthy of study. Not so much the data storage and recovery side, but the ancillary stuff which people have (perhaps unwisely) shoehorned into various problem-solving scenarios: using "classic" SQL (i.e. no scripts with looping etc.) to solve resource allocation problems etc. In this sort of context it appears to have a lot in common with APL: generate sets, look for intersections and so on.

The point I'm trying to make here is that there's two ways of looking at the "next language" question. If it's purely a case of "pick a useful language" then- regrettably- the answer has to be Python, or possibly C, FORTRAN or COBOL based on how much legacy code is floating around.

However I prefer to look at it from the angle of "how can I improve my intellectual toolkit", and from that POV it's valuable to look at alternative problem-solving techniques: even if the languages that exemplify them are niche or- as in the case of APL- derided.

As such, I would suggest that you might find the first few chapters downloadable from https://web.engr.oregonstate.edu/~budd/Books/leda/ of interest. As an experienced programmer I don't think you'll find them particularly heavy going, and they might help crystallise your ideas of what you're actually looking for.

MarkMLl
Title: Re: recommend me a second language to learn
Post by: KodeZwerg on December 12, 2022, 12:14:51 pm
I would learn Assembler, that you can use within Pascal to speed up own code or use it seperate in whatever way.
Title: Re: recommend me a second language to learn
Post by: MarkMLl on December 12, 2022, 01:09:53 pm
I would learn Assembler, that you can use within Pascal to speed up own code or use it seperate in whatever way.

/Which/ assembler? I'd certainly have recommended that as a candidate a few years ago, but these days I'd hesitate.

The problem is that "assembler" covers a multitude of sins. On the one hand you've got something CISC like x86 or 68k, on the other you've got something RISC like ARM or RISC-V. And out on a limb you've got IBM's One True Assembler which by now carries a vast conglomerate of macros around with it, detailed knowledge of which is de rigeur before you address the priesthood.

I don't think that I'd suggest it to somebody oriented towards problem solving or "Computer Science" stuff in general. I would OTOH heartily recommend it to somebody who had the time to study the lower-level engineering of one or more architectures, including GPUs etc., which appears to be something which is increasing glossed over by CompSci and pushed back towards specialist engineering.

MarkMLl
Title: Re: recommend me a second language to learn
Post by: dbannon on December 12, 2022, 01:13:48 pm
I think you should learn Python, that way, you will appreciate the good things in Pascal !

Davo
Title: Re: recommend me a second language to learn
Post by: krolikbest on December 12, 2022, 03:28:30 pm
Hi,
 there is also uPython for uC but for example  6 years ago I've choosen Basic for uC called Bascom. I belive everyone uses second or even a third language
Title: Re: recommend me a second language to learn
Post by: SymbolicFrank on December 12, 2022, 03:34:00 pm
If you want to do something with the web, Typescript is probably your best bet. It turns JavaScript into a half-decent programming language.
Title: Re: recommend me a second language to learn
Post by: Bogen85 on December 12, 2022, 04:29:08 pm
I think you should learn Python, that way, you will appreciate the good things in Pascal !

As much as I don't like Python, I agree. Not only to appreciate Pascal more, but because Python is so widely used it can be very detrimental and limiting not to know it well, and also not be able to use it well.

Another recommendation would be, learn C and C++.  Knowing Pascal, C will be fairly easy to learn.  C++ is a different ballgame, the reason I recommend learning it is because more and more basic programming examples are written using it (particularly using its libraries).  Not knowing C and C++ is quite a handicap.  Just for the record, I very strongly dislike C and dislike** C++ but, learning them will make you appreciate Pascal even more :)

I agree, Not knowing C/C++ (moreso C) is quite a handicap, and while it is not same category as Python, it can be very detrimental not to know it.

And, like with Python, learning and C/C++ will highlight a lot of what Pascal does better.

Also, learning both C/C++ and Python will expand your "toolkit" as far as what you can do in Pascal.

Both by doing things natively in Pascal you would have not done before, and also by leveraging C libraries.

And with Python, as Alex pointed out, being able to write plugins for SublimeText and FPC/Lazarus programs like CudaText.
Title: Re: recommend me a second language to learn
Post by: theo on December 12, 2022, 04:33:47 pm
If you want to do something with the web, Typescript is probably your best bet. It turns JavaScript into a half-decent programming language.
+1
For me it would be in this order:
1. C
2. Typescript
3. Python
Title: Re: recommend me a second language to learn
Post by: Ericktux on December 12, 2022, 04:48:37 pm
Thank you all very much for your comments, since I was a child I always liked "desktop applications" software like vlc, ccleaner, winamp, partition magic, ontrack disk manager, messenger live, and the like.
I am an independent programmer and I like to create, I have a lot of imagination.  :)
Title: Re: recommend me a second language to learn
Post by: 3oheicrw on December 13, 2022, 10:47:57 am
I suggest the Virgil language:

https://github.com/titzer/virgil

If you read the profile of the author of it Ben L. Titzer you will know why :)
TinyPortal © 2005-2018