Lazarus

Miscellaneous => Suggestions => Topic started by: Phil on August 13, 2017, 06:51:38 pm

Title: WANTED: A Few Great Apps
Post by: Phil on August 13, 2017, 06:51:38 pm
"The best publicity is a great demo."
  - just made that up, but it sounds true

I would like to suggest as a general goal the development of a small number of great apps that showcase FPC and/or Lazarus.

These would be new apps, modern apps, polished and good-looking, which would appeal to general users and developers alike, with 21st century features that users now expect such as animation, maps, geolocation, Web services, rich text, etc.

Ideally they would be available via app stores - this would be a big drawing card for the tools that were used to develop them. At a minimum, the apps would be available as codesigned installers that can be downloaded by clicking on a single link.

They could be paid apps - also a great attraction.

An app wouldn't necessarily need to be developed with Lazarus and/or LCL either. For example, it could be a Web app, as long as both the client and server parts were written in Pascal. (Web apps would need to be deployed to an actual server, not just as source code or screenshots.) Or it could be a Mac or iOS app developed with Xcode and FPC's Objective Pascal dialect. Or an Android app developed with Eclipse and FPC's JVM compiler. Whatever mix of tools produces the best results.

Ideally these new apps would not be just desktop apps, but would include something else - a mobile companion app, server side stuff, etc. For an example, see something like this case study, http://www.elementscompiler.com/elements/casestudies/curacaoweather.aspx?utm_source=blog&utm_medium=blog&utm_campaign=case-study-weather (http://www.elementscompiler.com/elements/casestudies/curacaoweather.aspx?utm_source=blog&utm_medium=blog&utm_campaign=case-study-weather), which describes two mobile client apps, server side software, and a desktop reporting app for backend analysts, all written in the same language and sharing some source code between the apps.

"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

So what types of apps would probably not be suitable to showcase?
Are there examples of the kind of showcase apps I'm thinking of? Well, I took a spin down the list in http://wiki.lazarus.freepascal.org/Projects_using_Lazarus (http://wiki.lazarus.freepascal.org/Projects_using_Lazarus). Once I'd eliminated all the broken links and abandonware, only a couple apps caught my eye in the context of what's described above:
Alas, both of these apps are probably far too specialized to interest more than a handful of users, and they're desktop only, but they're bright and colorful  (and cross-platform), and I could imagine them making the transition to an app store.

So who's in?

Gentlemen, start your engines.

Comments welcome.
Title: Re: WANTED: A Few Great Apps
Post by: marcov on August 13, 2017, 07:05:08 pm
"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

I wanna wast my time create imitations of popular apps to get new users which will invariably go with the popular default whatever I do, and will not choose a minor player in an open market just because they produce something that is almost on par.
 - said nobody but Phil.

Call me a cynic, but I think it is wiser to attach to a certain eco system, and try to grow from there, rather than put in a lot of effort to get something from a pool that already have too many tools fishing in it.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 13, 2017, 07:06:09 pm
"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

I wanna wast my time create imitations of popular apps to get new users which will invariably go with the popular default whatever I do, and not choose a minor player in an open market.
 - said nobody but Phil.

- said Uncle Grumpus
Title: Re: WANTED: A Few Great Apps
Post by: marcov on August 13, 2017, 07:11:28 pm
- said Uncle Grumpus

The exercise of simple putting yourself in their shoes (as in, new users without much attachment to tools) is not geriatric babble. 

What would FPC bring to the table with half polished tools that the likes of Microsoft, Apple and Google can't for creating mobile apps(and their backends)?

That said, the consensus seems to be that you need some application or framework from which to grow. I just rather chose the stuff that is already there and not denigrate it as "90s Pop applications"
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 13, 2017, 07:52:38 pm
- said Uncle Grumpus

The exercise of simple putting yourself in their shoes (as in, new users without much attachment to tools) is not geriatric babble. 

Sorry, couldn't resist the bait.

That said, the consensus seems to be that you need some application or framework from which to grow. I just rather chose the stuff that is already there and not denigrate it as "90s Pop applications"

Not sure if I follow, but it seems to me that a few "showcase" apps might be useful to existing users, not so much for attracting new ones: something to focus on, interesting examples of what's possible (or soon will be), a chance to upgrade skills.
Title: Re: WANTED: A Few Great Apps
Post by: RAW on August 13, 2017, 08:33:24 pm
Quote
..a few "showcase" apps might be useful to existing users, not so much for attracting new ones:...
The truth is it's good for both...

Existing users can see what can be done with FPC or LAZARUS... that's interesting and you can always learn something new...
AND
People who think PASCAL is dead and buried and "you cannot do this and that with it"... they can see what can be done.
That's way more powerful than talking...

Just my 2 cents...  :P
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 13, 2017, 08:38:45 pm
That's way more powerful than talking...

For sure.

And anyone attempting to create a "showcase" app would probably benefit most of all.

A lot of programmers probably hit against these familiar obstacles: (1) inability to critically judge one's own work, and (2) reluctance to leave the comfort zone where all the familiar tool and techniques are. (Certainly both of those things apply to me.) To do a showcase app, the developer would probably have to confront both of these things. And a general skill upgrade might solve both. Win-win.
Title: Re: WANTED: A Few Great Apps
Post by: RAW on August 13, 2017, 09:06:38 pm
Another truth is that if people have a certain mindset about something then it's hard to change that.
Most people think PASCAL is a teaching language used in the past in schools, it's not a real world programming language, real programmers are using C or JAVA or C++ or whatever, at least not PASCAL... that's something for kiddies.

A nice and stable working app can easily change that without the need to say more than: That's a FREE PASCAL or LAZARUS App...
Real results... the only thing that really matters...
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 13, 2017, 09:19:14 pm
This is an example of a showcase
https://electron.atom.io/apps/

And that is actually a Lazarus competitor, since it's main target is the Desktop. I'm not saying Lazarus is just Desktop, but it is manly used for that.

Some of the apps showcased there has a web version also, sure using Node.

Remember also that if you design a web application, that easily can be ported to mobile, with any framework using a web view.

In the future, progressive web apps (PWA) will be installed as native apps for Android, and remember these (right now) can work offline.

Another kind of apps are browser apps, like Chrome extensions, Google Drive extensions can be both web app and chrome extension.

Plugins for websites (web apps that uses external web apps).

Drive already comes with Word, Excel, PowerPoint and Draw (with his naming), and anything you can plug to it (scripting also). So that will not be a great idea to write one of these, if it's not online. Offline you can use already Open Office or Libre Office.

3D: already we have blender.
2D: inkscape, gimp.
Music: audacity, lmms.
Coding: the modern ones are Atom and his child VS Code.

Edit: I have this two small web apps, try to make them using lazarus for target web

https://lainz.github.io/webapps/frecuencias.html -> word counter (Normal web app)
https://lainz.github.io/webapps/compras/ -> groceries list (PWA, so yes, you can use it offline in any android device)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 13, 2017, 11:39:33 pm
This is an example of a showcase
https://electron.atom.io/apps/

A lot of those are apps for nerds, involving installing with npm or something, although I notice that a few do provide ready-to-use installers for various platforms, eg, https://medleytext.net .

Remember also that if you design a web application, that easily can be ported to mobile, with any framework using a web view.

Yes, I've noticed that trend. For example, even though Mapbox targets just about every platform under the sun, I see this quote here: https://github.com/mapbox/mapbox-gl-native :

"If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform."

Hence the usefulness of TWebBrowser control for Lazarus: https://macpgmr.github.io

https://lainz.github.io/webapps/frecuencias.html -> word counter (Normal web app)
https://lainz.github.io/webapps/compras/ -> groceries list (PWA, so yes, you can use it offline in any android device)

Try writing them as 100% Pascal and converting to JS. You just need an interface unit to the external JS classes, eg, to Angular.

See example app here and nearly complete Pascal interface unit for Mapbox GL JS:

https://macpgmr.github.io/MacXPlatform/pnj-src.zip
Title: Re: WANTED: A Few Great Apps
Post by: RAW on August 14, 2017, 12:53:03 am
Quote
This is an example of a showcase
https://electron.atom.io/apps/

And that is actually a Lazarus competitor, since it's main target is the Desktop. I'm not saying Lazarus is just Desktop, but it is manly used for that.
Funny... I tried the snake game just for fun and the result is: it's working fine, but..

1. RESUME button is not working
2. Window Caption colors are wrong // Classic Theme
3. 60 MB exe is quite big // Free Pascal + API window + OpenGL =  probably a few MB only
4. 40 MB RAM is a lot... I guess with FREE PASCAL and OpenGL it should be possible with 15 - 25 MB RAM usage...
5. 3 exe-files are running... interesting...  :)

Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 14, 2017, 12:58:37 am
@RAW
Thats the way chrome works, with different processes each one doing a different thing.

@Phil
I agree your web component will help a lot. Hopefully you can find a way to make it cross platform. Or even better make the chromium work fine and fast in each platform.

I mean a converter of a form isnt hard to do, just map each lazarus control to the html counterpart, or web library counterpart. the glue thats pascal in any form already can be converted to js. The good thing will be to create the entire conversion, like smart mobile studio does, but free :)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 01:03:06 am
@Phil
I agree your web component will help a lot. Hopefully you can find a way to make it cross platform. Or even better make the chromium work fine and fast in each platform.

Yes, currently it supports only Cocoa and Qt4.

I mean a converter of a form isnt hard to do, just map each lazarus control to the html counterpart, or web library counterpart. the glue thats pascal in any form already can be converted to js. The good thing will be to create the entire conversion, like smart mobile studio does, but free :)

I don't believe that's the right approach. If you adapt to the JS library, rather than try to shoehorn it into the Laz idiom, it becomes fairly straightforward.

Yes, I converted the entire app to JS using FPC's fppas2js converter.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 01:06:00 am
3. 60 MB exe is quite big // Free Pascal + API window + OpenGL =  probably a few MB only
4. 40 MB RAM is a lot... I guess with FREE PASCAL and OpenGL it should be possible with 15 - 25 MB RAM usage...

That bulkiness is what kind of puts me off about Atom.

All Macs come with OpenGL installed already as a system framework, so using it doesn't require anything extra.

The Mapbox native library uses OpenGL and on Mac is a svelte 3.5 MB, so creating a native Cocoa app with Lazarus that contains a real mapping engine can be done in 6-7 MB. Although like any mapping app, it does need RAM, about 50MB minimum.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 14, 2017, 01:09:16 am
I see. Well its just a matter of trying. I'm stuck with releases now, I should get a fresh trunk first. Is really interesting the conversion from a lang to another. For example Unity converts from C# and his version of js to asm.js and webgl. Games starts from 3 or 4 mb, no "download" required of third party plugins. See some of my games here
https://twogentlemensoftware.gitlab.io/
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 01:13:33 am
I see. Well its just a matter of trying. I'm stuck with releases now, I should get a fresh trunk first. Is really interesting the conversion from a lang to another.

Yes, quite intriguing. Now maybe the Pascal to JS never amounts to much, but it's interesting to look at. There are a few language features not supported yet. These are all clearly listed at the top of the fppas2js.pp file.

I haven't figured out easy ways to do some of the things that you do all the time in JS, eg, pass in a litte ad hoc object {} anytime you please. Maybe there will be a way to do that in Pascal, but I haven't figured out how yet.
Title: Re: WANTED: A Few Great Apps
Post by: Zath on August 14, 2017, 03:09:03 am
Why not promote apps already written with Pascal ?
The main one I can think of is Skype, written with Delphi Pascal.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 03:13:19 am
Why not promote apps already written with Pascal ?
The main one I can think of is Skype, written with Delphi Pascal.

Not sure what that does for anyone here.

And isn't that a programming urban legend? If not, please post documentation.
Title: Re: WANTED: A Few Great Apps
Post by: GAN on August 14, 2017, 03:57:16 am
Why not promote apps already written with Pascal ?
The main one I can think of is Skype, written with Delphi Pascal.

Not sure what that does for anyone here.

And isn't that a programming urban legend? If not, please post documentation.

"Delphi was chosen because our first senior UI developer was very skilled at Delphi (besides dozen other languages-environments) and we saw D as most productive, fastest, efficient way to build our app given our team/lead developer skills and also getting very good UX on MSWin platform." (Toivo Annus, worked at Skype) https://www.quora.com/What-programming-language-was-Skype-originally-written-in (https://www.quora.com/What-programming-language-was-Skype-originally-written-in)

I don't know if it's true, but he worked 3 years for Skype according to his LinkedIn profile. https://www.linkedin.com/in/toivoannus
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 04:01:30 am
I don't know if it's true, but he worked 3 years for Skype according to his LinkedIn profile. https://www.linkedin.com/in/toivoannus

So I guess we've established that they were still using Delphi, what, a dozen years ago. Not exactly a ringing endorsement.
Title: Re: WANTED: A Few Great Apps
Post by: Pascal on August 14, 2017, 08:51:01 am
Has someone tried PrometERP https://www.free-erp.de/ (https://www.free-erp.de/)? It seems to be a big pascal project.
I haven't tried so far.
Title: Re: WANTED: A Few Great Apps
Post by: carl_caulkett on August 14, 2017, 11:19:27 am
Any electronic musician will tell you that FL Studio (https://www.image-line.com/flstudio/) is an amazing piece of software by any standards. It is written in Delphi (https://support.image-line.com/knowledgebase/base.php?ans=114). I'm sure if we asked nicely, they'd be happy to port it to Lazarus! In my dreams...
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 14, 2017, 12:05:35 pm
Any electronic musician will tell you that FL Studio (https://www.image-line.com/flstudio/) is an amazing piece of software by any standards. It is written in Delphi (https://support.image-line.com/knowledgebase/base.php?ans=114). I'm sure if we asked nicely, they'd be happy to port it to Lazarus! In my dreams...
Slight correction: yes the user interface and a lot more is written in Delphi last time I used it, but it is a VERY complex project and actually,, like many complex projects do, relies on code written in multiple languages.
And these guys are often on this forum...  O:-)  8-) ...(Don't tell anyone  :-X )
Title: Re: WANTED: A Few Great Apps
Post by: carl_caulkett on August 14, 2017, 12:28:28 pm
Slight correction: yes the user interface and a lot more is written in Delphi last time I used it, but it is a VERY complex project and actually,, like many complex projects do, relies on code written in multiple languages.

Could you elaborate on that? I got the impression that, while VST plugins, by their nature, were written in various languages, the main core of FL Studio was pure Delphi, albeit with a lot of "hardcore assembler", as they put it.

And these guys are often on this forum...  O:-)  8-) ...(Don't tell anyone  :-X )

How intriguing! I searched the members' list for "gol" just now, but couldn't find anything...
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 14, 2017, 12:33:51 pm
And these guys are often on this forum...  O:-)  8-) ...(Don't tell anyone  :-X )
How intriguing! I searched the members' list for "gol" just now, but couldn't find anything...
"There are more things in heaven and earth, Horatio,
Than are dreamt of in your philosophy.
- Hamlet (1.5.167-8), Hamlet to Horatio"
Title: Re: WANTED: A Few Great Apps
Post by: mischi on August 14, 2017, 01:17:02 pm
May I mention Ultrastar Deluxe a Karaoke type game for Win, Mac and Linux along the lines of Singstar , for the playstation written in Pascal, using a bunch of C-libs and lua plugins. Another popular game is Hedgewar.

I would also mention GraphicConverter, a graphics shareware application for macOS.

I know a few more quite specialised science applications.

MiSchi.
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 14, 2017, 01:21:44 pm
I know a few more quite specialised science applications.
I know too. As well as some quite spectacular engineering applications and some top 500 trading software elements... But these are either too specific or can not be made public.
I guess I am not the only one...

@Phil: have you seen an ADA gallery somewhere? O:-) :D
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 01:38:29 pm
@Phil: have you seen an ADA gallery somewhere? O:-) :D

No I haven't. Assume you don't mean this: https://www.ada.gov

Actually, my suggestion was kind of an indirect followup to something you wrote here a while back: something to the effect that the best way to promote Lazarus would be to write a great app that people want to use. I tried to think about what that kind of app would look like. What would be the characteristics of a showcase app? For 2017. And jotted down a few things.

Title: Re: WANTED: A Few Great Apps
Post by: SymbolicFrank on August 14, 2017, 01:48:04 pm
I Googled last week what the simplest programming languages were, and most recommended JavaScript as a first language...

Alternatively: they now offer the Wolfram Language for free when you purchase a Raspberry Pi. Which takes 0.5 GB on the boot flash. I'm sure they would like to bundle Free Pascal as well.
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 14, 2017, 02:08:42 pm
Code: [Select]
sudo apt-get purge wolfram-engine && sudo apt-get install lazarus -y


Thanks to some FPC fans it is already in the repositories (since RPi 1), but lagging a bit..
Title: Re: WANTED: A Few Great Apps
Post by: ahiggins on August 14, 2017, 02:16:00 pm
I really wish the Raspberry Pi foundation would bundle FPC/Lazarus I feel this hardware/software combo as such a lot to offer at every level.
Title: Re: WANTED: A Few Great Apps
Post by: eny on August 14, 2017, 06:05:51 pm
So what types of apps would probably not be suitable to showcase?
  • Apps that look and feel like 90s Windows desktop software.
  • ...
  • Apps that use a non-standard look, feel or practice for a target platform.
Interesting...  8)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 06:15:09 pm
So what types of apps would probably not be suitable to showcase?
  • Apps that look and feel like 90s Windows desktop software.
  • ...
  • Apps that use a non-standard look, feel or practice for a target platform.
Interesting...  8)

These kinds of issues aren't that hard to avoid. Just look around at the other software on your computer. For example, if you put the About command under the Help menu on Mac, you're doing it wrong. If you make some Unix-y assumption about where you put files on Windows, you're doing it wrong.

These other programs, particularly the successful ones, didn't get that way by throwing code against the wall. For example, for many years Microsoft didn't fully embrace the ways of OS X and they caught infinite grief for it. Then one day, for whatever reason, they got the message and started producing software that Mac users didn't complain about. I use MS's Remote Desktop app just about every day on my Mac and even though it's written against (and includes) the Qt libraries, it's a great Mac app. Same with Office. Office apps on Mac are now just enormous, eg, Word has a 2GB footprint. But they run fine even on ancient Mac hardware with 4GB RAM.
Title: Re: WANTED: A Few Great Apps
Post by: eny on August 14, 2017, 06:25:50 pm
I did a large project with Lazarus last year and ran into a couple of issues (mostly) related to the gui and 3rd party components that contain smaller and bigger bugs, and the stability of the debugger.

What I would love to see is a more flexible way to set up the UI.
Maybe a more 'CSS-ish' way of designing the user interface.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 14, 2017, 10:16:01 pm
What I would love to see is a more flexible way to set up the UI.
Maybe a more 'CSS-ish' way of designing the user interface.

Not sure where that would fit in the LCL view of the world. In Web apps that's pretty common. For example, with Mapbox, if you want your custom control to take on the stylings of Mapbox, you just set its classname as in this example:

https://www.mapbox.com/mapbox-gl-js/api/#icontrol

A lot of what you can and cannot do with UI depends on where the cross-platform bar is set. With LCL, it's set pretty high. There's a huge amount of machinery ("implementation") below that bar that you normally don't have to worry about. The lower you set the bar, the more flexibility you have, but at the cost of cross-platform functionality.

The problems arise when you have to dip down below the LCL bar due to a bug or lack of functionality or need for additional customization. Now you're doing exactly what you set out to avoid by adopting the LCL.

For example, the virtual tree control does not work correctly on Mac. Wouldn't it be great to be able to substitute the native Cocoa NSOutlineView? (https://developer.apple.com/documentation/appkit/nsoutlineview)

Well, short of becoming an expert in LCL, custom controls and Cocoa, there's no way to use that control in a Lazarus app.


Perhaps you'd like to do a showcase app where you identify some real-world UI problems and come up a solution that you illustrate in your app. I don't see any reason why this can't be entirely informal. Someone with an idea for an app that they've wanted to implement also would like to discuss and "showcase" it for other developers. I would start at the conceptual level, maybe propose it here if you need more input or ideas - people here love to give advice. Or maybe a discussion of design philosophy would be appropriate. Whatever. It's up to the author.

Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 15, 2017, 12:40:27 am
So what types of apps would probably not be suitable to showcase?
  • Apps that look and feel like 90s Windows desktop software.
  • ...
  • Apps that use a non-standard look, feel or practice for a target platform.
Interesting...  8)
So let's just say that Photoshop is not suitable. Because it uses a custom UI. Also popular apps like Telegram, Media Players like Kodi.

I think is just that the opposite now. A custom UI is more valuable than a native only.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 15, 2017, 01:07:09 am
So what types of apps would probably not be suitable to showcase?
  • Apps that look and feel like 90s Windows desktop software.
  • ...
  • Apps that use a non-standard look, feel or practice for a target platform.
Interesting...  8)
So let's just say that Photoshop is not suitable. Because it uses a custom UI. Also popular apps like Telegram, Media Players like Kodi.

I think is just that the opposite now. A custom UI is more valuable than a native only.

I'm not familiar with those apps, but I would be surprised if Mac versions (if they exist) would deviate much from the standard Mac look and feel.

Note I left it kind of vague, saying "probably". Perhaps I should have added to both of those points "for no good reason". That might be a good rule of thumb - "innovate" if you want, but justify it.

For example, there's a program I use on my Mac quite a bit. It's Qt-based, but it's fine, looks pretty good on all platforms. Except they decided for some reason to have a "Project" menu instead of a "File" menu. Well, Lazarus, Xcode, Xamarin Studio, etc. all deal with "projects", yet they all have "File" menus. Hmm, I see a pattern there: follow the standard or the convention unless there's some compelling reason not to.

So what that app did, by introducing a "Project" menu, is what in tennis they call an "unforced error".

Another example: Ubuntu's Unity desktop. Yikes. This is what you get when you rip the desktop look and feel out of macOS and try to transplant it to a decidedly non-macOS context. Now once you've shat on it, you have Unity. Another unforced error.

Title: Re: WANTED: A Few Great Apps
Post by: eny on August 15, 2017, 10:11:14 pm
I think is just that the opposite now. A custom UI is more valuable than a native only.
A more customizable and flexible UI was indeed my point.
Nowadays there is hardly a 'uniform UI' anymore.
Every Tom, Dick and Harry has his own UI for web apps and the trend for Windows is the same.
That's why I would love to see a more flexible way of setting up a UI.
Never said it would be easy  :D

Not sure where that would fit in the LCL view of the world.
Nowhere. It's a different UI design paradigm.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 15, 2017, 10:47:53 pm
I Googled last week what the simplest programming languages were, and most recommended JavaScript as a first language...

I'm not sure what "simplest" means. I suppose if you're starting with Web design and development, the basics of JavaScript would be sort of a lingua franca, but easiest? And which JavaScript would that be? EcmaScript 5? Or 6 with all the new stuff?

See this article and its caveat about JavaScript:

http://blog.flatironschool.com/should-i-learn-javascript-or-ruby-at-a-coding-bootcamp/
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 16, 2017, 01:49:52 am
I Googled last week what the simplest programming languages were, and most recommended JavaScript as a first language...

I'm not sure what "simplest" means. I suppose if you're starting with Web design and development, the basics of JavaScript would be sort of a lingua franca, but easiest? And which JavaScript would that be? EcmaScript 5? Or 6 with all the new stuff?

See this article and its caveat about JavaScript:

http://blog.flatironschool.com/should-i-learn-javascript-or-ruby-at-a-coding-bootcamp/

Interesting article. Basically it says you should learn to learn, not just a language (any).

I started with a scripting language called Lua, you know how untyped languages works: everything is a variable, and you can or not declare it first, and don't know it's type, and you can modify it's type to another later, etc.. just with functions and nothing more. Like old javascript.

In the other hand, typed languages, you design and know each type: like TypeScript does (and you can mix both worlds with it), then compiles to javascript.

And OOP is very limited in javascript: you can't have 'easily' a hidden method in a class, you need to underscore it '_method' is currently the good practice due to language limits.

But I think is easier to learn like any scripting language. But you can't live only with that, you need to master OOP also, in the article compared to Ruby (that I never touched more than an online school and never used it).

But I can compare it to Pascal. JavaScript is easier because it has less features, or handy features like everything is like a "variant object" to my eyes. Of course it has it counterparts, you still need to parseFloat, parseInt and .toString() if you need it, like in pascal StrToFloat, StrToInt, IntToStr, and the like.

I did nothing with Node yet, so I can't compare it to pascal in the system level.

BTW javascript is more popular and widely used than pascal, not just for web, for servers, for games (Unity). It doesn't come that you need to learn pascal or javascript, I agree with the article that you must master anything you need to work with.

I don't see anyone using pascal for making a wii u game, or a ps4 game, but yes javascript because it's available to make it. it's availability a good point also.

It's my point of view, I agree with some parts of the article but I added my own view.

Pascal for me was harder to learn that javascript.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 16, 2017, 01:57:40 am
Interesting article. Basically it says you should learn to learn, not just a language (any).

I found the graphic showing what languages their graduates used on the job to be pretty bizarre. Now certainly in a market as vast as New York City, with its enormous entertainment/tourism/nightlife/social media industry, there would be a lot of Web site and mobile app developers (hence Swift already at 15%). But what about the equally ginormous banking and finance industry in NYC? What do those analysts write their models in? JS? Sorry, don't buy that. So maybe that school is placing their students only in certain job areas and not others, although one of the featured alums works at NASA, so that's pretty old-school tech.

Still, a programming job is a programming job. Better to have one than not have one.

Pascal is probably a small fraction of the "Other" circle, if at all.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 16, 2017, 02:29:44 am
Sure working in a bank you will earn more than me :)
And I will be happy programming for a bank in any language they use.  8)
Of course that kind of software sure is harder to do.

Edit: I'm not being sarcastic. If not clear.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 16, 2017, 03:52:48 am
Of course that kind of software sure is harder to do.

I always thought proper UI design was pretty hard to do.

It's funny that JavaScript doesn't even need to be promoted. If that were necessary, that is, if there were multiple browser scripting languages to choose from, it might be kind of hard to get people to adopt JS.

Speaking of promotion, here's how you promote Swift without even talking about Swift:

https://www.youtube.com/watch?v=cJAGqDYmW1o&feature=youtu.be

Don't miss the opening joke, it's pretty good.

That's how you sign up 3 million new developers in a year.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 16, 2017, 04:39:55 am
I always thought proper UI design was pretty hard to do.

It is. Even for web design, there are good tools out there like bootstrap and material design, I was working in a project using both, and these can be mixed nicely, but putting all together to work on desktop and mobile with the same source can be time consuming (at least) sometimes more time than the code itself. The smallest screens are the big problem.

Don't miss the opening joke, it's pretty good.

Hello World  :D
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 16, 2017, 09:06:29 am
Quote
Hello World  :D

You mean:
Code: Text  [Select]
  1. ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
In my bf compiler written in Object Pascal? Would that count Phil? I have to look up the code, but it is freeware...
Title: Re: WANTED: A Few Great Apps
Post by: SymbolicFrank on August 16, 2017, 09:53:24 am
When you ask a programmer what to choose for a first programming language, they tend to recommend the one they use most. Because they think that one is easiest to use.

Sometimes they will recommend the one that is used most often.

In both cases, that tends to be C++ or JavaScript, depending on the type of application they make. Both of which I certainly would not recommend.


Btw, for the native look and feel: would that include a Windows 8 version as well?
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 16, 2017, 08:29:08 pm
When you ask a programmer what to choose for a first programming language, they tend to recommend the one they use most. Because they think that one is easiest to use.

I'll have to say I never get asked that question.

In both cases, that tends to be C++ or JavaScript, depending on the type of application they make. Both of which I certainly would not recommend.

If you're doing Web app development, I don't see how you avoid JS completely. Although it is possible to at least think about doing it with FPC and converting your Pascal to JS. Take a look at this little kit and example:

https://macpgmr.github.io/MacXPlatform/pnj-src.zip

Btw, for the native look and feel: would that include a Windows 8 version as well?

I imagine that the Win32 API is still "a" native look and feel with Windows, regardless of version.

Much of look and feel is just about common sense, using what makes sense in light of the conventions and guidelines of a given platform. Those things don't change very fast.

For example, consider dialog button placement. Microsoft guidelines suggest one way, Apple and Google another. If a program uses the same placement across all platforms, what does that mean? Sloppiness? Laziness? Not good to contemplate what other things the developer might have skipped over.

Here's a nice little article that covers buttons. Quite a fun little read.

http://babich.biz/primary-secondary-action-buttons

Title: Re: WANTED: A Few Great Apps
Post by: SymbolicFrank on August 16, 2017, 10:14:34 pm
I'll have to say I never get asked that question.
I ask interesting questions.

Quote
If you're doing Web app development, I don't see how you avoid JS completely. Although it is possible to at least think about doing it with FPC and converting your Pascal to JS. Take a look at this little kit and example:

https://macpgmr.github.io/MacXPlatform/pnj-src.zip
Are you advocating web as a good programming platform, or as a necessary evil? Because it's one of the worst computing platforms ever designed. It's just that managers and salesmen like it, and users don't have to do scary things like installing software. Almost all system administrators hate it when users are allowed to install software themselves as well. But they tend to dislike allowing users to do anything whatsoever.

Quote
I imagine that the Win32 API is still "a" native look and feel with Windows, regardless of version.

Much of look and feel is just about common sense, using what makes sense in light of the conventions and guidelines of a given platform. Those things don't change very fast.

For example, consider dialog button placement. Microsoft guidelines suggest one way, Apple and Google another. If a program uses the same placement across all platforms, what does that mean? Sloppiness? Laziness? Not good to contemplate what other things the developer might have skipped over.
I have made very many user interfaces. Most of them designed by interviewing the users-to-be. And just about all of them were different, and custom.

What you are referring to is, that people don't like change. And that they expect applications to have a ribbon where you cannot find anything, instead of a menu, right?
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 16, 2017, 10:17:29 pm
FWIW: When I am teaching, I use Python as a first language. After that Pascal. After that the curly brackets dialects.
(Kernigan and Richie must have been both very drunk when they replaced  begin/end with {/} and reversed the order of the parameter types with the parameter names)
There's a beautiful logic in that sequence  :) O:-) Javascript - in its non-strict form - is just confusing things for first timers and from an educational point of view likely to introduce bad habits.
Start with a strongly typed language. ANY strongly typed language. Ok, Python is not strongly typed perse... but it has elegance and is easy to learn. From Python to Pascal is easier than from Python to the curly brackets mafia languages... I once wrote a C-like parser for a new language that has }/{ as begin/end... It is more pleasing to the eye....
 8-) 8-)

(That was actually in a hotel room during a Borland conference some place far away (Montreal) from home during the launch days of C++builder 3. We had good fun with it... some of you may remember it...)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 16, 2017, 10:52:03 pm
FWIW: When I am teaching, I use Python as a first language. After that Pascal. After that the curly brackets dialects.

That seems quite reasonable.

What about Swift, which has Python influences (tuples, no semi-colons - well, optional), but also Pascal influences (variable, then type in declarations - although type is optional too)? I guess it's still a curly braces language. I remember when Swift came out and they said it was influenced by Python and I wondered if eventually they would make the braces optional and do code blocks via indentation like in Python. Doesn't look like that's going to happen.

It's said that Apple is okay with their products getting disrupted, as long as it's from within rather than without. It looks like that's what they did when they blew their own pet language, Objective C, out of the water with Swift. Three years in and it's already firmly established in the Apple world and nicely available for Linux severs too.




Title: Re: WANTED: A Few Great Apps
Post by: valdir.marcos on August 19, 2017, 09:02:11 pm
Why not promote apps already written with Pascal ?
The main one I can think of is Skype, written with Delphi Pascal.

Not sure what that does for anyone here.
Nothing. ICQ, MSN Messenger and Skype are not popular any more... All of them (old desktop communication software) were replace by Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts, GroupMe, and the like.

And isn't that a programming urban legend? If not, please post documentation.


I don't know if it's true, but he worked 3 years for Skype according to his LinkedIn profile. https://www.linkedin.com/in/toivoannus

So I guess we've established that they were still using Delphi, what, a dozen years ago. Not exactly a ringing endorsement.

https://forums.embarcadero.com/message.jspa?messageID=701932
Re: Skype for Windows still Delphi?
Posted: Jun 11, 2015 12:31 PM
------------------
It is still written in Delphi (specifically, in either D2009 or D2010).
I know this because the resources of the EXE file for the latest Skype version
(7.5.0.102 compiled on June 2 2015, according to its version resource) has
several Delphi-specific resources - DVCLAL, PACKAGEINFO, and CHARTABLE.
In particular, the CHARTABLE resource was introduced in Delphi 2009 and removed
in XE. It was used by early versions of the System.Character.TCharacter
class, but was later replaced with a const byte array declared directly in
the System.Character unit.

--
Remy Lebeau (TeamB)
-------------------


Why Skype used Delphi?
http://blog.marcocantu.com/blog/why_skype_used_delphi.html

What programming language was Skype originally written in?
http://www.quora.com/Skype/What-programming-language-was-Skype-originally-written-in?mid=55546

--------------------
Toivo Annus, worked at Skype
Updated Jun 4, 2011 · Upvoted by
Andreas Sjölund, worked at Skype and
Jaanus Kase, I designed Skype chat in 2004

The original internal alpha version of UI was built in QT and we hoped to do few platforms at same take. However the result looked like crap, our progress seemed slow and we ditched the QT about 2 months before public beta release.

Delphi was chosen because our first senior UI developer was very skilled at Delphi (besides dozen other languages-environments) and we saw D as most productive, fastest, efficient way to build our app given our team/lead developer skills and also getting very good UX on MSWin platform.

For linux the QT remained and on OSX it has been Cocoa from the start. The functional core components which did the heavy lifting under the UI have always been the same C/C++ as Ahti pointed out.
--------------------


What is Skype coded in?
https://www.quora.com/What-is-Skype-coded-in

Skype employs Delphi programmers
http://developers-club.com/posts/133951/

--------------------
Delphi  5 years, 8 months ago (December 2011 or January 2012)

Here such announcement has appeared in social network LinkedIn then has instantly scattered on many other things sotsialkam and to blogs. It would Seem anything remarkable. But …

All know that Skype is written on Delphi, and is hardly probable not the most known Delphi application. As many know that not so long ago Skype has been got Microsoft. Concerning what there were enough conjectures. Many thought that one of the most popular messadzherov will be copied in other environment of working out. Now we see that it has not occurred, and similar will not occur. Otherwise in what sense of hiring (actually Microsoft'ом) Delphi developers?

As is curious on what version Delphi, obviously, is written Skype.
--------------------
Title: Re: WANTED: A Few Great Apps
Post by: valdir.marcos on August 19, 2017, 09:42:01 pm
@Phil
It this what you are talking about?

Skype for Windows touch-first app loses out to desktop alternative
https://www.cnet.com/news/skype-for-windows-touch-first-app-loses-out-to-desktop-alternative/

Microsoft dropping Metro Skype app, going back to the desktop
http://arstechnica.com/information-technology/2015/06/microsoft-dropping-metro-skype-app-going-back-to-the-desktop/

Skype for Windows still Delphi?
Posted: Jun 11, 2015 11:32 AM
https://forums.embarcadero.com/message.jspa?messageID=701932
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 19, 2017, 09:50:05 pm
@Phil
It this what you are talking about?

Uh, no, I'm not interested in Skype. Surely the point here would be to showcase FPC and Lazarus apps, not an old Delphi app. I don't see how Skype is relevant in the least except maybe for nostalgic Delphi programmers.

No, my idea is to showcase a small number of _new_ apps. And I think newness and freshness are important.

Look at this page:

https://electron.atom.io/#apps

That's a "visual invitation" to get involved in the Electron project.
Title: Re: WANTED: A Few Great Apps
Post by: avra on August 19, 2017, 10:29:13 pm
I'm sure they would like to bundle Free Pascal as well.
No they wouldn't. In the early days od RPi I have tried to exploit the fact that most people consider Pascal as a good language to teach programming. Unfortunately they decided to settle with Python, adding Scratch a little later.
 :(
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 19, 2017, 11:09:31 pm
I'm sure they would like to bundle Free Pascal as well.
No they wouldn't. In the early days od RPi I have tried to exploit the fact that most people consider Pascal as a good language to teach programming. Unfortunately they decided to settle with Python, adding Scratch a little later.
 :(

I suppose to have FPC bundled with something like the Pi might have been interesting, but was that hope ever very realistic? The precedent for bundling Python was already pretty well set, for example with the One Laptop Per Child initiative, which assumed Python from day one.

I would suggest that for younger programmers, no such reputation applies (teaching language). Pascal is likely to be tabula rasa for them. That's a good thing, though. But the question then is how do you plant the seed of Pascal and what does that seed look like? That's more about communication and branding than about technology and features and pedigree.
Title: Re: WANTED: A Few Great Apps
Post by: valdir.marcos on August 19, 2017, 11:15:07 pm
@Phil
It this what you are talking about?

Uh, no, I'm not interested in Skype. Surely the point here would be to showcase FPC and Lazarus apps, not an old Delphi app. I don't see how Skype is relevant in the least except maybe for nostalgic Delphi programmers.

Skype for Windows Desktop is still build in Delphi, but there is nothing relevant about that information nor in other softwares made in Delphi for Free Pascal and Lazarus community.

No, my idea is to showcase a small number of _new_ apps. And I think newness and freshness are important.

Look at this page:

https://electron.atom.io/#apps

That's a "visual invitation" to get involved in the Electron project.

Besides open source games, I know nothing about cool software for the general public made in Free Pascal and Lazarus.

What I know is the obvious information that many companies migrated from Delphi to other programming languages, including Free Pascal and Lazarus.

Here in Brazil, the strength of Free Pascal and Lazarus relies on making software for commercial and database related applications, but that is a market niche not a general audience.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 19, 2017, 11:24:17 pm
Here in Brazil, the strength of Free Pascal and Lazarus relies on making software for commercial and database related applications, but that is a market niche not a general audience.

I feel your pain. I do scientific modeling. Not exactly a conversation starter.

Maybe a key is to find something about that kind of software that _is_ interesting to a larger audience, particularly younger programmers. For example, making anything that's commercial seems very interesting to me.

Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 19, 2017, 11:45:44 pm
We can start making a good showcase website with the already made stuff like lazpaint, text editors that I've seen in the wiki, and tools for programming also, I think we must not exclude projects.

Something like the website I did for OPM

Packages.lazarus-ide.org

But for projects. Categories, the icon and the official url. Also a SHORT description.

I can host it freely on GitHub and gitlab. Then if successful can host it in another Lazarus url.

Maybe I start something tomorrow. Today I did a pseudocode to JavaScript converter, I'm a student yet so is really hard for me do such things in a good way... But I can do some websites.
Title: Re: WANTED: A Few Great Apps
Post by: valdir.marcos on August 19, 2017, 11:48:36 pm
I'm sure they would like to bundle Free Pascal as well.
No they wouldn't. In the early days od RPi I have tried to exploit the fact that most people consider Pascal as a good language to teach programming. Unfortunately they decided to settle with Python, adding Scratch a little later.
 :(

I suppose to have FPC bundled with something like the Pi might have been interesting, but was that hope ever very realistic? The precedent for bundling Python was already pretty well set, for example with the One Laptop Per Child initiative, which assumed Python from day one.

I would suggest that for younger programmers, no such reputation applies (teaching language). Pascal is likely to be tabula rasa for them. That's a good thing, though. But the question then is how do you plant the seed of Pascal and what does that seed look like? That's more about communication and branding than about technology and features and pedigree.

How many high schools or colleges do you know that still teaches any flavour of Pascal as a programming language?

I know many companies that have to offer a better salary and train inside the fresh young programmers just hired to maintain or develop Pascal made software.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 12:07:01 am
We can start making a good showcase website with the already made stuff like lazpaint, text editors that I've seen in the wiki, and tools for programming also

What I'm thinking of is more app oriented rather than programmer and tool oriented. With apps, you immediately have the chance to do something visually interesting. Contrast these two sites, one of apps, one of modules:

https://electron.atom.io/#apps

https://www.mapbox.com/about/open/

Now, Mapbox's site is quite nice, but the simplicity and visual nature of Electron's site really grabs my eye. I don't know what criteria they used for selecting these particular apps out of the vast list of apps built with Electron, but most have really nice logos. I really like the Insomnia logo.

Something like the website I did for OPM

Packages.lazarus-ide.org

Not bad, but a couple suggestions:
(1) Do these packages have icons or logos? You have a lot of room to the right of the package name. Stick the icon/logo in there.
(2) Make the control that looks like a dropdown but isn't into a normal dropdown. Very disconcerting to me to see that kind of non-standard behavior.
Title: Re: WANTED: A Few Great Apps
Post by: ps on August 20, 2017, 12:19:08 am
So what types of apps would probably not be suitable to showcase?
  • Apps that use a non-standard look, feel or practice for a target platform.
Hmm we are finishing brand new CRM system with all fancy modern web like UI so: one page, no forms (only panels), no standard controls (only TMemo without borders), no standard comoboxes (only TMemo with panels ...) etc.(this was hard part as hell, but it will be best looking CRM in the whole world (including all web CRMs)). It's ok for showcase? :) (and yes we use Lazarus for Win/Mac/Linux and Delphi for Mobile (Android/iOS)). Backend is in PHP :)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 12:26:10 am
It's ok for showcase? :) (and yes we use Lazarus for Win/Mac/Linux and Delphi for Mobile (Android/iOS)). Backend is in PHP :)

Sounds quite ambitious. Why not start with a blog on what you've created? I don't know diddly about CRM and would tend to dismiss it as something not interesting. Do a blog that explains why I should find it interesting.

Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 12:50:06 am
We can start making a good showcase website with the already made stuff like lazpaint, text editors that I've seen in the wiki, and tools for programming also

What I'm thinking of is more app oriented rather than programmer and tool oriented. With apps, you immediately have the chance to do something visually interesting. Contrast these two sites, one of apps, one of modules:

https://electron.atom.io/#apps

https://www.mapbox.com/about/open/

Now, Mapbox's site is quite nice, but the simplicity and visual nature of Electron's site really grabs my eye. I don't know what criteria they used for selecting these particular apps out of the vast list of apps built with Electron, but most have really nice logos. I really like the Insomnia logo.

Something like the website I did for OPM

Packages.lazarus-ide.org

Not bad, but a couple suggestions:
(1) Do these packages have icons or logos? You have a lot of room to the right of the package name. Stick the icon/logo in there.
(2) Make the control that looks like a dropdown but isn't into a normal dropdown. Very disconcerting to me to see that kind of non-standard behavior.

Well LazPaint is actually an app, a visual app  :)

1) These don't have.
2) Well is a standar dropdown, the style is the bootstrap default, and the look and feel of the items is managed by the browser, so is native actually. But it can be changed to a 'bootstrap native' with a better visual that has the same look and feel as the search for example.

BTW I'm thinking of using Material Design, not bootstrap for that website, is more visual than bootstrap.

One of these lists:
https://material.angularjs.org/latest/demo/list

And the normal input
https://material.angularjs.org/latest/demo/input

Or the autocomplete input
https://material.angularjs.org/latest/demo/autocomplete
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 12:54:36 am
1) These don't have.

They don't have palette icons or anything?

2) Well is a standar dropdown

On Firefox/Mac, when I click the dropdown arrow, or in fact anywhere in the control, a separate menu pops up in the middle of the screen, unattached to the dropdown control. That is not a standard dropdown.

Edit: The Angular stuff looks good.
Title: Re: WANTED: A Few Great Apps
Post by: taazz on August 20, 2017, 01:05:49 am
Here in Brazil, the strength of Free Pascal and Lazarus relies on making software for commercial and database related applications, but that is a market niche not a general audience.

I feel your pain. I do scientific modeling. Not exactly a conversation starter.

Maybe a key is to find something about that kind of software that _is_ interesting to a larger audience, particularly younger programmers. For example, making anything that's commercial seems very interesting to me.
You are being unfair. As far as I can see we have everything needed for showcase we just don't have any spinners to spin things around. for example a small show case about scientific modeling easy and fast will bring more interest than a fresh and perky crm/erp and all that yesterdays news. A free, access type, of application with two or three ready made applications for the end user and running on win/mac/linux, are enough. We do not need application we need community, libraries, youtube channels, blocks etc. do your part on your knowledge niche a small easy and fast to use (not execute so much) scientific modeling that you know well start spinning leaving usable cramps all over the place for more scientist to follow and test. some one with hardware experience or not could use raspberry PI for a garden watering management system or a Variable Speed Drive for stepper motors, we already have a CAD written in lazarus a small mill CNC based on raspberry or other type of arm not anything big something small for modeling enthusiasts, open source, free, commercial, maker, mentality all valid as long as they are willing to use a powered by chetah on their block/channel/forum plans etc. 

Now time to take my own advice..

PS
I'm not bashing crm/erp/ etc they are all welcome as long as we can spin it a bit.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 01:07:18 am
I tested it on Firefox and chrome on Linux and windows and works like a native one

The behavior you describe is like it works on Android. Like a pop-up. BTW is the native look on Android.

So it's a native one but it changes depending on the platform

Is an HTML5 element.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 01:20:01 am
The behavior you describe is like it works on Android. Like a pop-up. BTW is the native look on Android.

Well, in any case, use the Angular stuff and it will should be fine.

One thing that's always worth looking at with showcase pages or even just the first page of a Web site is typeface. Here are some examples:

Angular links from above: It appears from their stylesheet that they prefer Roboto, followed by Helvetica Neue if Roboto is not available. Looks great here on my Mac, probably because it's using Helvetica Neue, the world's most beloved typeface (Roboto is an Android typeface, I believe).

Swift homepage: https://swift.org/

Look how clean it looks, not a visual cocktail like some sites. Font? Appears to prefer Helvetica Neue.

Lazarus home page: https://www.lazarus-ide.org/

Page looks a lot better than it did a couple years ago, but I would lose the bottom 2/3 and just keep the stuff at the top - only what fits on one page. And change the font. What does it use? Again, looking at the stylesheet, it appears to be Segoe UI. What the heck it that? A Windows UI font. Probably not what you want for a Web page.

Title: Re: WANTED: A Few Great Apps
Post by: avra on August 20, 2017, 01:41:19 am
I don't think that anyone mentioned here that Total Commander 64bit is compiled with Lazarus since 2011 :D

http://www.ghisler.ch/board/viewtopic.php?t=47005
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 02:04:28 am
I know many companies that have to offer a better salary and train inside the fresh young programmers just hired to maintain or develop Pascal made software.

I've heard that anecdotally, but it's hard to find any evidence for it in surveys:

https://insights.stackoverflow.com/survey/2017#top-paying-technologies

Title: Re: WANTED: A Few Great Apps
Post by: Akira1364 on August 20, 2017, 04:47:32 am
I know many companies that have to offer a better salary and train inside the fresh young programmers just hired to maintain or develop Pascal made software.

I've heard that anecdotally, but it's hard to find any evidence for it in surveys:

https://insights.stackoverflow.com/survey/2017#top-paying-technologies

Shouldn't be surprising to anyone, honestly... Object Pascal is my favorite language by far, but there is no conceivable way I could possibly come close to making a living programming if it was the only language I knew. As it stands I just happen to work for a company with a relatively large legacy Delphi codebase that I generally only get to work on when I'm not doing my main job writing C++/C#/sometimes Python code on their flagship applications. (And even then it's only as a maintainer... they're certainly not ever going to be adding new features to the Delphi application.) Also, I would say that upwards of 90% of the younger programmers I work with have absolutely never heard of Delphi or Lazarus, and are only vaguely aware of Pascal in the most "historic" sense possible.

That being said, am I really seeing people in this thread advocate for Electron as a viable GUI-app-development-environment replacement over Lazarus? Yeah, no thanks, ever, for a variety of reasons:

-Every Electron app literally just bundles what amounts to a copy of Chrome (and all of the related binaries) with it when you, ahem, "build" them. (As they are in no way actually "native" apps.. just web apps that hide the fact that they're web apps.) However, unlike the actual Chrome, the bundled copies are immediately and permanently guaranteed to never be updated or receive bug-fixes as they aren't connected to the normal auto-update service.

-Because of the bundled dependencies I mentioned above, the total disk-space "payload" for each Electron app is generally around 250-500 mb. That's not HUGE in this day and age (although it's also definitely not ideal), but the more Electron apps there are in the wild are the quicker that adds up.

-They tend to use far more memory than they should, regardless of what they're specifically doing. (This is, again, related to the fact they're they're running through a bundled Chrome!)

-They're not particularly performant. Javascript is not fast. There are some offshoots of it that are a bit better than "vanilla JS", but overall they are for the most part entirely unable to compete with the level of optimization you can get with a compiled application.

-It has drastically fewer GUI components available for it than Lazarus (or Delphi) and is unlikely to ever come anywhere close to catching up as it simply isn't designed to be extensible in the same way.
Title: Re: WANTED: A Few Great Apps
Post by: bylaardt on August 20, 2017, 07:33:14 am
I know many companies that have to offer a better salary and train inside the fresh young programmers just hired to maintain or develop Pascal made software.

I've heard that anecdotally, but it's hard to find any evidence for it in surveys:

https://insights.stackoverflow.com/survey/2017#top-paying-technologies
Valdir.marcos told the truth.
I'm an accountant in my primary job here in Brazil.
Our government change tax rule every time, and you have a minimum time to adapt. Pascal and the rad concept is the best way to have results in a reasonable time.
Here you learn programming outside the school and new programmers have no  enough knowledg on pascal, accounting, business or taxes tax assessment.
It's easiest trainning a accountant to learn pascal and paying more for this than the opposit.
Our lemma is: "Desenvolvido por contadores, para contadores", something like: developed by accountants, for accountants.
In Others jobs occours the same.

It is very common to see that a good programmer needs to know several programming languages and ignore or forget that in fact more important than this is to know about the final objective of the program that will develop.
Whats the point on having multiple programming languages on your curriculum vitae to be hired to develop something that you do not even know the technical of the science where the app will be used?
Title: Re: WANTED: A Few Great Apps
Post by: danPadric on August 20, 2017, 11:26:13 am
Hello everyone. May this message find you well.

I step into this conversation as a stranger; ignorant of all the good work being done here. I apologise. Please know I mean no disrespect.

That being said, am I really seeing people in this thread advocate for Electron as a viable GUI-app-development-environment replacement over Lazarus? Yeah, no thanks, ever, for a variety of reasons:

@Akira1364: I agree with you. From an engineering standpoint and user point of view it is bad practice to drag so much weight with you.

I think it is worth understanding the lure of a framework(?) like Electron, which links to the theme of this topic. Please be patient with me as I work up to my point.

---
Pascal was my first love. Pascal without Delphi. The love affair lasted 3 years long in the mid '90s. On several occasions I have tried to get up and running with the help of Lazarus. ..and failed.

Now again I am dabbling with coding. This time playing with Visual Studio Code and (more so) Atom. Both built onto Electron.

Seeing the demo projects here, I think - "wow! I wish I knew how to do that!"

Seeing add-ons for Atom - "wow! That is nice. Let me modify it to work as I want it to."
---

The motivation for designers to choice a language/framework/ide is how quickly you can get results. Especially the first results; this motivates a designer to move forward.

This what hooked me onto Atom vs VSCode - how quickly did I get a result. (Only playing with customizations & creating a custom grammar.) A month's worth of dabbling in free time exposed me to Coffeescript, Javascript, LESS and so on, all because of the first attempt being easy.

I am not comparing Lazarus with Atom. I am focussing on the structure that an Electron project puts down that makes it approachable even for a n00b like me.

Showcasing Pascal projects is not what going to people jump in IMHO. Some type of framework or template that makes it easy to start experimenting - that is the ticket. Even a LITE version of Lazarus can help.. let the newbie designer discover what he needs, yet has the tools to create things quickly.

Now... maybe you have all the attributes I am thinking of. If you do, then why is it that a stranger like me did not notice this while strolling casually by?

Regards,
 Dan Padric
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 05:19:43 pm
That being said, am I really seeing people in this thread advocate for Electron as a viable GUI-app-development-environment replacement over Lazarus?

No, I don't think that's what you're seeing. What you are seeing is people who are curious about or trying to understand the phenomenon of Electron. How is it that a development tool with so many apparent deficiencies is used to create so many good-looking apps? (https://electron.atom.io/#apps)

I would suggest that its appeal is to the many, many developers who are already creating Web apps, working with JavaScript and node.js, etc. Now they can create a desktop app, plus installers for all 3 major platforms, without much additional effort.

(I think you might be exaggerating the installed footprint of Electron apps a bit. Visual Studio Code looks to be one of the larger Electron apps. Its installed size on Mac is 216 MB. Lazarus is 700 MB + FPC. Xcode is 12.3 GB. Really, who cares?)
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 05:23:59 pm
It's easiest trainning a accountant to learn pascal and paying more for this than the opposit.

That's interesting. I wonder if that's more of a local situation. In the U.S., the normal arrangement is a programmer works closely with one or more specialists (so-called "domain experts"). The programmer, as you say, won't know much about the subject.

In fact, I've suggested for years that if a programmer is casting around for good ideas for apps, or wants to start a company but isn't sure what kind of software to specialize in, team up with some boffin who has expertise and ideas but can't program - a good division of labor.
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 20, 2017, 05:30:07 pm
May look good.... but...I tried just one and got this:
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 20, 2017, 05:37:57 pm
It's easiest trainning a accountant to learn pascal and paying more for this than the opposit.

That's interesting. I wonder if that's more of a local situation. In the U.S., the normal arrangement is a programmer works closely with one or more specialists (so-called "domain experts"). The programmer, as you say, won't know much about the subject.

In fact, I've suggested for years that if a programmer is casting around for good ideas for apps, or wants to start a company but isn't sure what kind of software to specialize in, team up with some boffin who has expertise and ideas but can't program - a good division of labor.

Well, I can see what he means and what you mean.  At my last three employers! - and basically any bank with a development department in the Netherlands - any medior or senior programmer is also required encouraged  ::) to take banking exams on the subject they are working on. As a consequence I am also certified to work as stock broker or risk manager.  (No, not light exams, full exams, full certification) I have many colleagues on this forum... They have the same: programmers, but qualified bankers on their particular subject.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 05:42:56 pm
May look good.... but...I tried just one and got this:

Isn't that the Web site, not the app?

The downloaded Hyper app works fine here on Mac.
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 20, 2017, 05:44:33 pm
I didn't even get that far.... Chromium killed it...
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 06:02:23 pm
At my last three employers! - and basically any bank with a development department in the Netherlands - any medior or senior programmer is also required encouraged  ::) to take banking exams on the subject they are working on.

I'm not familiar with cross-certification, although who knows, maybe that is common in some areas and I've just never heard of it.

Presumably your employer pays for the time spent on the certification, courses, etc.
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 20, 2017, 06:13:08 pm
Presumably your employer pays for the time spent on the certification, courses, etc.
If and when you pass the exams you will be fully refunded (and usually also results in a raise or a bonus). Time is your own time (with some leeway, though).
Some generic banking exams (still not really basic) are of course fully payed for and within work hours. Within my line of employment this is standard practice.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 06:19:48 pm
Presumably your employer pays for the time spent on the certification, courses, etc.
If and when you pass the exams you will be fully refunded (and usually also results in a raise or a bonus). Time is your own time (with some leeway, though).
Some generic banking exams (still not really basic) are of course fully payed for and within work hours.

What do the "real" bankers think about this, a bunch of programmers horning in their profession?

People are often quite defensive about their profession, particularly if it required a lot of education or experience to get where they are. And particularly if they think it's under assault.

If you've seen "Hidden Figures" you see over and over again the tension between the white male NASA engineers and the black female mathematicians who are kind of the programmer pre-cursors of the early 60s (their job title is "computer"). Of course, this is primarily a story about race and gender, but I think that tension between engineers, who are certified, and programmers, who generally are not certified in the U.S., still exists today.

https://blogs.krannert.purdue.edu/undergrad-life/2017/01/26/hidden-figures-author-speaks-at-purdue/
Title: Re: WANTED: A Few Great Apps
Post by: Thaddy on August 20, 2017, 06:27:08 pm
That's true, but for some jobs here it is required to have proper certification just to access certain data or materials. That requires (a higher level) education. Since most of us (my collegues and me) are almost all university educated (either a bachelor a master or a ph.d)  taking the full course is often not necessary because parts of it are already covered by earlier education (e.g. philosophy, economics, statistics). You will obtain the full certification, though. Note these particular qualifications are recognized in the US.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 07:04:36 pm
Here it is:

https://lazarusccr.github.io/apps/

We have LazPaint right now. I'm adding more soon.

Feel free to give me the icon (40x40 at least) and the name, description, tags, and url of any application you want to showcase.

Code: Pascal  [Select]
  1. {
  2.         name: 'LazPaint',
  3.         description: 'Raster image editor with layers',
  4.         url: 'https://github.com/bgrabitmap/lazpaint',
  5.         icon: 'lazpaint.png',
  6.         tags: '3d, 2d, editor, paint, photo, png, jpg'
  7.     }
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 07:09:32 pm
Here it is:

https://lazarusccr.github.io/apps/

I would say "built with", not "built on". With Electron, it might make sense to say "on", but not with Lazarus.

Can you boost the size of the icon a bit?

I don't see the installers anywhere for LazPaint.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 07:13:45 pm
Here it is:

https://lazarusccr.github.io/apps/

I would say "built with", not "built on". With Electron, it might make sense to say "on", but not with Lazarus.

Can you boost the size of the icon a bit?

I don't see the installers anywhere for LazPaint.

I need to make a better website for LazPaint. There is a blog lazpaint.blogspot.com
Github layout can be tricky, but actually there's a download in the 'releases' link.

I will do the changes you suggest.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 07:17:14 pm
Github layout can be tricky, but actually there's a download in the 'releases' link.

I don't see that. I see a "release" link, but no installers there.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 07:21:22 pm
Github layout can be tricky, but actually there's a download in the 'releases' link.

I don't see that. I see a "release" link, but no installers there.

https://github.com/bgrabitmap/lazpaint/releases

The installers are there.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 07:26:20 pm

https://github.com/bgrabitmap/lazpaint/releases

The installers are there.

Now I see them. Probably a landing page more like the Greenfish app is a good idea, where the installers are right there.

Also, I can't seem to open the links in a separate browser page.
Title: Re: WANTED: A Few Great Apps
Post by: lainz on August 20, 2017, 08:12:16 pm

https://github.com/bgrabitmap/lazpaint/releases

The installers are there.

Now I see them. Probably a landing page more like the Greenfish app is a good idea, where the installers are right there.

Also, I can't seem to open the links in a separate browser page.

I will do a better website for LazPaint.

And maybe I can change the link to be opened directly in a new tab. It's not a normal link, is a custom control made by google, so it is just a button or something like that.
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 08:46:11 pm
That requires (a higher level) education.

Ah yes, "education is good." Still, it's funny to consider all the people who were college dropouts: Bill Gates, Steve Jobs, Mark Zuckerberg...
Title: Re: WANTED: A Few Great Apps
Post by: Phil on August 20, 2017, 09:34:11 pm
Showcasing Pascal projects is not what going to people jump in IMHO. Some type of framework or template that makes it easy to start experimenting - that is the ticket. Even a LITE version of Lazarus can help.. let the newbie designer discover what he needs, yet has the tools to create things quickly.

Now... maybe you have all the attributes I am thinking of. If you do, then why is it that a stranger like me did not notice this while strolling casually by?

Good points and you may be right.

Still, showcasing is also important for people who are already using Lazarus and FPC. Something that they can aspire to if they're just starting out, to show what's possible, a list of apps they can indirectly be proud of.