Success really isn’t optional

News and information about Ultibo.
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: Success really isn’t optional

Postby Ultibo » Mon Feb 05, 2018 12:33 am

Great comments everyone, the feedback is very helpful. Also thanks to those who have taken the time to contact us and let us know about their plans for VC4, without some idea of what people are working on all we see is silence which we naturally interpret as lack of interest.

Just a little bit of extra information to reassure you that we are not planning radical changes to the way Ultibo works, our announcement is simply about expanding the choice of languages that people can use to develop their projects in order to remove some of the negative perception that comes from using Pascal as our development platform.

We won't be supporting every language under the sun (although once a model is in place others may get added), initially it will be a couple of very popular and well supported options that have large existing user bases. It's probably no real secret (as most have guessed) that one of those will be C, not just because it is a popular language but because it is the language that many other languages are written in.

As Pascal programmers we sometimes forget that the fact Free Pascal is written in Free Pascal is quite a rare case, many languages (especially interpreted languages) are written in another language and for various reasons that is usually C.

We are not planning to add support for editing C code in Lazarus, that would be pointless and no one would use it, there are hundreds of existing tools for C that programmers prefer to use already. What we will be doing is adding an API that C programs can call (a set of header files really) to allow access to the internal functionality of Ultibo in a way that isn't provided by the current C library support. What that will mean is that a driver could be written in C and function alongside the Pascal drivers without anyone needing to care which language was used to develop it, equally the same should apply to other languages as well, a driver in PHP, Python or JavaScript? Maybe, we'll take it one step at a time and see.

As for how programs get created when using other languages, our current work is based on using the standard tools available like Make and Cmake. By providing a few clear examples that show how to create a Makefile that compiles the C code and then calls FPC to build the kernel image many C programmers should be readily able to adapt those to their own needs.

By inference if C is supported then C++ will also be able to use the provided API, right now we still have some work to do so that C++ code can be loaded and executed in Ultibo and to provide support for libstdc++ which most code requires.

Those 2 won't be the only ones, there is at least one more in the initial plan and we'll provide more details when there is something to show.
Ultibo.org | Make something amazing
https://ultibo.org
pik33
Posts: 788
Joined: Fri Sep 30, 2016 6:30 pm
Location: Poland
Contact:

Re: Success really isn’t optional

Postby pik33 » Mon Feb 05, 2018 8:10 am

So I tested a C editing possibility in lazarus, and... it can do it: it has even a C syntax highlighter :) One whai it doesn't have is possibility to create a new C file: you have to create .c file yourself.

Also I read ( http://wiki.lazarus.freepascal.org/Usin ... _languages ) that the compiler options allows to change Lazarus behavior after clicking Compile, Build and Run. So it sems to be possible, even as an user, to configure Lazarus to invoke a script instead of fpc. The script can then precompile the C code and call the FPC to link it all.

There is also lazc component which I have to test.
Gavinmc42
Posts: 1420
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: Success really isn’t optional

Postby Gavinmc42 » Mon Feb 05, 2018 10:46 am

Yep Raspistill.c shows up as C++ colour syntax, I had noticed that Laz does seem to recognize other formats.
I used to use Geany but when I cut and pasted intoLaz I got extra blank lines, so I open them in Laz now.
Some of my old projects code is still in Python, upgrading was easier in the Laz editor.

It would be nice to get new versions of VC4 source and then gcc compile just the libs needed.
A cross compiler will be needed in Win/Linux x86, on Raspbian no need to cross compile :D

Once gcc is working in Laz, that opens up many other languages.
Geany had been my defacto code editor because it is easy to compile any language in it.
My simple projects have mostly been in high level languages so not many files needed linking, importing.

Does h2pas work as a plug-in? open xxx.h in Laz and run h2pas to convert to pas file.
In Linux scripted compiles would not be too hard once set up if needed, not sure about Windows?
Full Make support would be better?

Visual Studio Code is headed towards the "One IDE to Rule them all" model.
VSC does not have native Pascal support but people have done it, even me.
The colour syntax was not the same but probably could be tweaked, not sure how VSC does the compiling or is it just an editor?
Probably going to be easier in Lazarus as that is Open.
pjde
Posts: 425
Joined: Tue Feb 09, 2016 6:21 am
Location: Sydney, Australia

Re: Success really isn’t optional

Postby pjde » Mon Feb 05, 2018 8:33 pm

Does h2pas work as a plug-in? open xxx.h in Laz and run h2pas to convert to pas file.


Started using h2pas to decode more VC4 libraries, While it definitely saves time, it still needs significant manual tweaking.

Regards

Paul
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: Success really isn’t optional

Postby Ultibo » Mon Feb 05, 2018 10:11 pm

pik33 wrote:So I tested a C editing possibility in lazarus, and... it can do it: it has even a C syntax highlighter

Gavinmc42 wrote:Once gcc is working in Laz, that opens up many other languages.

You appear to have misunderstood what we said, we are NOT going to be supporting editing C code (or any other language) in Lazarus.

Of course if anyone wants to do that feel free, but please start a new post (or a new project) to discuss it.
Ultibo.org | Make something amazing
https://ultibo.org
Gavinmc42
Posts: 1420
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: Success really isn’t optional

Postby Gavinmc42 » Mon Feb 05, 2018 11:35 pm

You appear to have misunderstood what we said, we are NOT going to be supporting editing C code (or any other language) in Lazarus.


Er I meant "could" not "should" ;)
Too late, C colour syntax editing is already supported, but C compiling is another hairy story.
The possibility of using Lazarus for multi language compiling did not occurs to me until pik33 posted that link.

Lazarus has got to be better than Idle for Python :lol:
And yes a separate post would be best.
Interesting thought, Lazarus is gdb aware :roll: google time :lol:
blueicaro
Posts: 23
Joined: Sun Nov 19, 2017 11:13 am
Location: Spain
Contact:

Re: Success really isn’t optional

Postby blueicaro » Wed Feb 07, 2018 2:18 pm

Lazarus can colored other formats os file, but only can compile Pascal. Ultibo Team, used the correct ide for Pascal is Lazarus in my opinion. It's a powerfull IDE, my be old style but powerfull. I only miss one thing, in Lazarus IDE you can format the code using Jedi Code Format (ctrl+D).

For me, Pascal is a good language. May be not perfect, or the best. But the reason that I started learn Ultibo is that is written in Pascal. I learned C, Clipper, Cobol, ASM, Pascal,etc. in my student years. But my preference is Pascal, because I don't like brackets, I prefer words, and I think you can program easy and fast. And, for me, there is not many diference in perfomance with C, or C++. I don't understand why people scorn Pascal, and prefer .NET of Java.

I used to work programming industrial machines, but I use Free Pascal / Lazarus to make tools, and make easy my job. And as I said, I don't find any diference with C/C++ in perfomance.

I'll be very sad if Ultibo team give up pascal.

Ultibo is a great tool, but don't get wrong. Ultibo is for people who wants program in low level, controling every you do, and understanding the hardware. It's for embebed systems, the programers who makes this kind of programs, are a specific audience.

I think Ultibo will grow up, if we (the users) write tutorials, make public code, reporting bugs, ideas, etc and work neck and neck with ultibo Team.

Ultibo Team, please don't abandon this amaizing proyect.

/BlueIcaro
http://wiki.teisrobotics.org
hippy
Posts: 27
Joined: Tue Jan 02, 2018 5:54 pm
Location: UK

Re: Success really isn’t optional

Postby hippy » Wed Feb 07, 2018 3:34 pm

blueicaro wrote:I'll be very sad if Ultibo team give up pascal.
Ultibo Team, please don't abandon this amaizing proyect.

It seems to me they don't have any intention of doing either.

To me it's not giving up on anything, turning in a different direction; it's simply facilitating more to make things even better.
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: Success really isn’t optional

Postby Ultibo » Wed Feb 07, 2018 10:51 pm

blueicaro wrote:I'll be very sad if Ultibo team give up pascal.

Ultibo Team, please don't abandon this amaizing proyect.

You can very sure there is no chance we will give up Pascal, the entire core of Ultibo will continue to be written using Free Pascal because we think it is the best choice.

As @hippy correctly suggests, we are simply adding more choices so that more people can benefit from what we are doing.

blueicaro wrote:I think Ultibo will grow up, if we (the users) write tutorials, make public code, reporting bugs, ideas, etc and work neck and neck with ultibo Team.

We agree, everyone needs to do their bit to help the project grow.
Ultibo.org | Make something amazing
https://ultibo.org
Gavinmc42
Posts: 1420
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: Success really isn’t optional

Postby Gavinmc42 » Thu Feb 08, 2018 1:28 am

Ultibo will grow, it is just too good a tool, even now, not to be used for these smaller SBC PC's.
Lots of the big guys Google, MS, Oracle find the ARMv6 too hard and only use ARMv7+.
It is like they feel it is too demeaning to go lower, back to 32bit.
Well guess what, 32bit ARM is IoT, from $0.50 to $10 chips.
Plus they have too much invested in their own technology to allow it to escape.
They have tried, Google with Go, MS with .NET, C#, /Oracle with Java, Mozilla with Rust.
I have tried them all, yet here I am using Pascal, why?

Because Ultibo runs on Pi's, the worlds best SBC's (Best = Cost+Quick+Quality+Support).

Ultibo with it's FPC underpinnings can do much more than any other Pi tool set with capabilities no one has yet got around to implementing.
It still has some way to go before I would regard it as a professional tool, gdb, ssh needed for that.
But for quick apps and simple (300KLOC :D ) uses it is fine already.
Plus Pro tools usually cost $$$$ and not many get their bugs fixed as fast as Garry can do it.

Yes there is not many examples, you do need some coding expedience to get the most out of them.
Not much to google how to do xxxx.

Only 187 members plus more who are too busy using Ultibo to join ;) .
Of course anyone here reading this post is probably already a fan, so I'm preaching to the converted ;)

Ultibo is growing, getting better and more capable with each release, It is slow and sometimes hard for total beginners.
But compared to Linux and C++ etc it is much more fun to learn and use, then when you get better at coding it is very quick.
I know of no other tool as quick to learn that can do so much without reading lots of documentation.
Garry must have read lots to figure it all out :shock:
But once you find an example that is close to your application it is very quick and the need to know what is happening at the lower levels is not a requirement.
The examples show you how the high level application stuff works.

With FPC and Garry's stuff on the lower levels, all I need to worry about is my highest level application code.
Even if my code is crap I know that underneath the foundation code is strong and has less bugs than mine.

Who cares that it is based on Pascal?
I do, because Object Pascal like FPC has some native feature not found in other languages that I want to use sometime in the future.
With Ultibo it comes with everything to get someone up and running.
My skills are growing as I try to keep up with Ultibo.
One day I hope to be able to make maximum use of Free Pascal's capabilities, but I am probably years(decades) away from that.

C code may require dependencies from anyone/anywhere before even starting to compile, which means you must be net connected to get them etc.
Could anyone use Arduino's without it's libraries and examples?

The possibility that it can interface with other libraries in other languages has been proven already.
Garry did that with the VC4 stuff, no one else has done this apart from a few assembler hardcore baremetal people.
Just because it can do it does not means throwing it all away, just the opposite.
Let see it use other lib's from outside the fpc world.

Return to “News”

Who is online

Users browsing this forum: No registered users and 2 guests