Recent

Author Topic: recommend me a second language to learn  (Read 1329 times)

Ericktux

  • Sr. Member
  • ****
  • Posts: 345
recommend me a second language to learn
« 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.  :)
« Last Edit: December 12, 2022, 02:04:52 am by Ericktux »

440bx

  • Hero Member
  • *****
  • Posts: 4037
Re: recommend me a second language to learn
« Reply #1 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 :)
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Ericktux

  • Sr. Member
  • ****
  • Posts: 345
Re: recommend me a second language to learn
« Reply #2 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.  :)

s6nonqxt

  • Guest
Re: recommend me a second language to learn
« Reply #3 on: December 12, 2022, 02:59:46 am »

PierceNg

  • Sr. Member
  • ****
  • Posts: 374
    • SamadhiWeb
Re: recommend me a second language to learn
« Reply #4 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. Has a Free Pascal binding too, so you can start with that and move on to other languages.

s6nonqxt

  • Guest
Re: recommend me a second language to learn
« Reply #5 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. 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

egsuh

  • Hero Member
  • *****
  • Posts: 1292
Re: recommend me a second language to learn
« Reply #6 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, ...

PierceNg

  • Sr. Member
  • ****
  • Posts: 374
    • SamadhiWeb
Re: recommend me a second language to learn
« Reply #7 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

Nicole

  • Hero Member
  • *****
  • Posts: 970
Re: recommend me a second language to learn
« Reply #8 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.

AlexTP

  • Hero Member
  • *****
  • Posts: 2402
    • UVviewsoft
Re: recommend me a second language to learn
« Reply #9 on: December 12, 2022, 11:09:17 am »
Python; using it you can write plugins for Sublime Text and CudaText.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6686
Re: recommend me a second language to learn
« Reply #10 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
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

KodeZwerg

  • Hero Member
  • *****
  • Posts: 2069
  • Fifty shades of code.
    • Delphi & FreePascal
Re: recommend me a second language to learn
« Reply #11 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.
« Last Edit: Tomorrow at 31:76:97 xm by KodeZwerg »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6686
Re: recommend me a second language to learn
« Reply #12 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
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

dbannon

  • Hero Member
  • *****
  • Posts: 2797
    • tomboy-ng, a rewrite of the classic Tomboy
Re: recommend me a second language to learn
« Reply #13 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
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

krolikbest

  • Full Member
  • ***
  • Posts: 246
Re: recommend me a second language to learn
« Reply #14 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

 

TinyPortal © 2005-2018