Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
January 2016
- 73 participants
- 671 messages
Re: [Pharo-users] Lawsuit Tracker app
by Esteban Lorenzano
> On 03 Jan 2016, at 08:57, Saša Janiška <gour(a)atmarama.com> wrote:
>
> On Sub, 2016-01-02 at 23:27 +0000, Dimitris Chloupis wrote:
>
>> there is an an SQlite wrapper for pharo
>
> I know about it.
>
> However it would be nice to have some categorized catalog of the
> packages available for Pharo?
you have the catalog browser (in Pharo 5)
and this: http://catalog.pharo.org <http://catalog.pharo.org/> in all the rest.
now, if people do not contribute their packages, no tool in the world will help you :)
(you contribute your configurations as explained here: http://catalog.pharo.org/catalog/note-for-developers <http://catalog.pharo.org/catalog/note-for-developers>)
cheers,
Esteban
>
>
>> the screenshot you shared as Tudor said can be accomplished via
>> Roassal and Morphic.
>
> Now, I'm really a bit puzzled about Roassal' capabilities. :-)
>
>> Personally I find the whole performance question kinda irrelevant
>> because if you really want to squeeze the most performance code those
>> parts in C and call them from Pharo via its FFI. Not even Julia will
>> able to outperform that since itself relies on C code for performance
>> and its quite restrictive how you use its dynamic types to achieve
>> high performance.
>
> Well, the point is that e.g. I know people who tried to do similar apps
> in Python and it was too slow, they abandoned it and went to C++.
>
> That's the reason why I was primarily exploring statically-compiled
> languages. Julia *might* be interesting since it is higher-level
> language with fantastic, close to C performance when one helps compiler
> by annotating data types.
>
> In short, I want to avoid fiddling with low-level languages, otherwise
> it would be simple to just use C/GTK or C++/Qt. (Java could probably
> also do the job, but I simply do not like it.)
>
> For the most critical part of the application, I anyway plan to use 3rd
> party C lib which does calculate planetary ephemeris, but for the custom
> libs using it, I want to use higher-level and type-safer language.
>
>> In any case there are always 3 rules, profile, profile and profile.
>> When it comes to performance assume nothing. In the vast majority of
>> cases Pharo JIT VM should be more than enough.
>
> Let me see...
>
>> And if all you want to do is a business app I dont even know why you
>> worry about performance. Business apps they are very low demand on
>> performance.
>
> When I say 'business' app, it is most in the sense of typical 'desktop
> outlook', while the app itself is falling more into 'science' app, but
> it depends how one sees astronomy/astrology. :-)
>
>> Pharo libraries dont get irrelevant because the language is so simple
>> it barely changes and the changes usually dont brake compatibility.
>
> Pharo's simplicity of the language is huge 'pro'. ;)
>
>> Pharo can do REPL via the playground, the whole deal is that is a lot
>> more than that.
>
> Right, it's just that Julia provides more 'traditional' dev work-flow,
> while with Pharo one has to unwrap one's head a bit. :-)
>
>> GUI wise you can do some pretty awesome stuff with morphic.
>
> That I still have to learn...
>
>
> Sincerely,
> Gour
>
> --
> A person is said to be elevated in yoga when, having renounced
> all material desires, he neither acts for sense gratification
> nor engages in fruitive activities.
>
>
>
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Esteban Lorenzano
well, correct link is: http://smallworks.eu/web/projects/lawsuitTracker <http://smallworks.eu/web/projects/lawsuitTracker>
I made that app in one month work (just before coming to work in pharo).
in one month I managed to:
- create Voyage (there was nothing before, and MongoTalk driver was just an experiment not really finished⦠so I needed to finish also the driver⦠for putting an example reading was so slow that after a couple of tweaks a managed to transform a 1s query into a 10ms query⦠just to give you a hint)
- tweak glamour to provide better user interactions (often mixing glamour+magritte+glamour inside magritte+more magritte⦠:)
- wrap a PDF library (bah, finish a wrapper that already existed, in fact), and a generic âreport toolâ who of course use magritte
- create a custom query language âlawyer aptâ (they donât know about sql or databases :P) using petit parser
- and learn how to close the image, so an user can have a desktop app without seeing a debugger or a class browser if something happened (errors where directly reported by me using fuel, in the first iteration mariano made, when he was still doing his phd and fuel was still an experimental tool)
the application is still in use (by 20+ lawyers in two offices of the same law firm) and they just call me one time in 5 years, and that was because they screw the mongodb installation, not a problem of the application.
Can I say Iâm pretty proud of that thingy? :)
The main point is that using anything else (I worked in âjava worldâ for 12 years before jumping to Pharo, so I know very well what Iâm talking about) I would take no less than 4 months on doing the same⦠using Pharo and their libraries I managed to do it in one month AND to create something valuable for the community.
I would say both glamour and magritte are still fundamental if you want to provide a desktop application⦠even if you have to spend time learning them.
Now, about performance, thatâs something always annoys me: people believing this will have a problem before actually having it⦠people believing they will need numbers they do not need.
A language like squeak was very capable of having croquet, and a company like this one http://www.3dicc.com <http://www.3dicc.com/> use them to build virtual words and they are very successful. True, they are not second life, and they have some escalation issues, but they manage it pretty wellâ¦
Even high availability games like eveonline are made using python (and not the scripting parts, the full game) and they are capable to handle battles of 3k users in a single instanceâ¦
You think you need better performance than them? Most probably not⦠but even if you need it, I think you are missing the path: you use Pharo and if it happens performance is not enough, then you profile and optimise, probably using some external library: we have FFI and if that is not enough you can always do your own plugins⦠at the end, thatâs what those guys do :)
I think is a lot more efficient (and agile) way to create an application⦠in the worst case, you can spend the time you save using Pharo on optimising your solution interfacing with C or whatever. At the end, you will have an application that is a lot more maintainable than using C or C++ as main language.
cheers,
Esteban
> On 02 Jan 2016, at 22:51, Saša Janiška <gour(a)atmarama.com> wrote:
>
> Hello,
>
> I'm looking how to build GUI app with Pharo and today found out
> screenshot of Lawsuit Tracker (http://smallworks.eu/web/projects/lawsuit
> Tracker) which very much resembles 'typical' desktop/business
> application. The web site says: "It is made using Pharo, Glamour,
> Magritte and MongoDB." and in my case I'd replace MongoDB with Sqlite3,
> have need for more grpahical output - something like:
>
> http://saravali.de/screenshots.html
>
> but wonder about other components and whether they (Glamour/Magritte)
> are still relevant *today* ?
>
> Otoh, today I was re-reading some stuff about Julia language which looks
> as fine langauge, but it does not fit on one psotcard, although it
> provides more "classical" way of developing: editor+REPL along with
> Gtk(.jl) bindings.
>
> The language does perform very well, iow. it's quite fast which is good
> for my project, but it's a bit cumbersome since there is no support to
> compile end application, while it looks that Pharo has advantage here
> providing smoother way of deployment (multi-platform wise).
>
> Any hint?
>
> --
> Even if you are considered to be the most sinful of all sinners,
> when you are situated in the boat of transcendental knowledge
> you will be able to cross over the ocean of miseries.
>
>
>
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Dimitris Chloupis
"Heh, that's only for uninitiated. ;)
See: http://shyamasundaradasa.com/jyotish/resources/articles/cartoons.ht
ml <http://shyamasundaradasa.com/jyotish/resources/articles/cartoons.html>"
The link you provided argues that scientists take things for granted ,
which is not the case, or that scientists dont understand what electricity
is, which is also not the case and that Astronomy has not been proven wrong
again and again by science which is also not the case.
https://en.wikipedia.org/wiki/Astrology_and_science
In any case you are welcomed to believe whatever you want , this is not a
philosophy mailing list, just a coding mailing list where only code matters
:)
On Sun, Jan 3, 2016 at 1:06 PM Saša Janiška <gour(a)atmarama.com> wrote:
> On Ned, 2016-01-03 at 09:52 +0000, Dimitris Chloupis wrote:
>
> > I am considering making such a tool, I call it "Tartara" and it was
> > always in my mind because my project Ephestos is a collections of
> > tools and I wanted package manager that was more sophisticated than
> > Catalog Browser.
>
> That would be great!
>
> > Roassal is a well design vector graphics API that specializes in data
> > visualisation.
>
> I'm still not sure whether it can help me with my needs.
>
> > The only reason to go C++ is that you want from the first till thelast
> millisecond of your application to have super performance, but if you want
> to go nuclear performance then languages like CUDA and OpenCL that take
> advantage of GPUs superior parallelism
>
> I believe we do not need such stellar performance.
>
> > Also tools like cython that offer very close to python
> > syntax can even outperform C/C++ mainly because of the optimizations
> > that VM is doing and the ability to Cython to produce optimised C
> > code.
>
> I was considering Cython in the past, but wanted something better than
> Python...
>
> > Absolutely and I wont lie to you this definetly increase the learning
> > curve, but frankly it worths it because you come to realize that the
> > traditional way is actually weird and not a very "natural" way of
> > thinking.
>
> I agree...moreover simplicity of the language is huge factor since it's
> supposed to be hobby project and I want to have some fun while working
> on it.
>
> > But that takes time to get used to , however if you are
> > interested in such approach I promise you will love pharo.
>
> Maybe, as first step I should try to play with NB-FFI to check how
> working of C lib does work with Pharo...then I can work on providing
> higher-level API for it and write some Pharo packages on top of it.
>
> > well astrology is not science, astronomy is.
>
> Heh, that's only for uninitiated. ;)
>
> See: http://shyamasundaradasa.com/jyotish/resources/articles/cartoons.ht
> ml <http://shyamasundaradasa.com/jyotish/resources/articles/cartoons.html>
>
> --
> It is far better to discharge one's prescribed duties, even though
> faultily, than another's duties perfectly. Destruction in the course
> of performing one's own duty is better than engaging in another's duties,
> for to follow another's path is dangerous.
>
>
>
>
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Saša Janiška
On Ned, 2016-01-03 at 09:52 +0000, Dimitris Chloupis wrote:
> I am considering making such a tool, I call it "Tartara" and it was
> always in my mind because my project Ephestos is a collections of
> tools and I wanted package manager that was more sophisticated than
> Catalog Browser.
That would be great!
> Roassal is a well design vector graphics API that specializes in data
> visualisation.Â
I'm still not sure whether it can help me with my needs.
> The only reason to go C++ is that you want from the first till thelast millisecond of your application to have super performance, but if you want to go nuclear performance then languages like CUDA and OpenCL that take advantage of GPUs superior parallelism
I believe we do not need such stellar performance.
> Also tools like cython that offer very close to python
> syntax can even outperform C/C++ mainly because of the optimizations
> that VM is doing and the ability to Cython to produce optimised C
> code.Â
I was considering Cython in the past, but wanted something better than
Python...
> Absolutely and I wont lie to you this definetly increase the learning
> curve, but frankly it worths it because you come to realize that the
> traditional way is actually weird and not a very "natural" way of
> thinking.
I agree...moreover simplicity of the language is huge factor since it's
supposed to be hobby project and I want to have some fun while working
on it.
> But that takes time to get used to , however if you are
> interested in such approach I promise you will love pharo.Â
Maybe, as first step I should try to play with NB-FFI to check how
working of C lib does work with Pharo...then I can work on providing
higher-level API for it and write some Pharo packages on top of it.
> well astrology is not science, astronomy is.
Heh, that's only for uninitiated. ;)
See:Â http://shyamasundaradasa.com/jyotish/resources/articles/cartoons.ht
ml
--
It is far better to discharge one's prescribed duties, even though
faultily, than another's duties perfectly. Destruction in the course
of performing one's own duty is better than engaging in another's duties,
for to follow another's path is dangerous.
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Dimitris Chloupis
+1
On Sun, Jan 3, 2016 at 12:32 PM stepharo <stepharo(a)free.fr> wrote:
>
>
> Le 2/1/16 22:51, Saša Janiška a écrit :
> > Hello,
> >
> > I'm looking how to build GUI app with Pharo and today found out
> > screenshot of Lawsuit Tracker (http://smallworks.eu/web/projects/lawsuit
> > Tracker) which very much resembles 'typical' desktop/business
> > application. The web site says: "It is made using Pharo, Glamour,
> > Magritte and MongoDB." and in my case I'd replace MongoDB with Sqlite3,
> > have need for more grpahical output - something like:
> >
> > http://saravali.de/screenshots.html
> >
> > but wonder about other components and whether they (Glamour/Magritte)
> > are still relevant *today* ?
>
> Yes Synectique is building a lot of interfce with Glamour.
> Yes Magritte is relevant now the Morphic binding may not work.
>
> What I can tell you is that Pharo is **really** productive.
> I suggest you to jump and get the feel for real.
> Then do an analysis of pro and cons.
> Doing that in the air is just doing it in the air.
> >
> > Otoh, today I was re-reading some stuff about Julia language which looks
> > as fine langauge, but it does not fit on one psotcard, although it
> > provides more "classical" way of developing: editor+REPL along with
> > Gtk(.jl) bindings.
> >
> > The language does perform very well, iow. it's quite fast which is good
> > for my project, but it's a bit cumbersome since there is no support to
> > compile end application, while it looks that Pharo has advantage here
> > providing smoother way of deployment (multi-platform wise).
> >
> > Any hint?
> >
>
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by stepharo
Le 2/1/16 22:51, Saša Janiška a écrit :
> Hello,
>
> I'm looking how to build GUI app with Pharo and today found out
> screenshot of Lawsuit Tracker (http://smallworks.eu/web/projects/lawsuit
> Tracker) which very much resembles 'typical' desktop/business
> application. The web site says: "It is made using Pharo, Glamour,
> Magritte and MongoDB." and in my case I'd replace MongoDB with Sqlite3,
> have need for more grpahical output - something like:
>
> http://saravali.de/screenshots.html
>
> but wonder about other components and whether they (Glamour/Magritte)
> are still relevant *today* ?
Yes Synectique is building a lot of interfce with Glamour.
Yes Magritte is relevant now the Morphic binding may not work.
What I can tell you is that Pharo is **really** productive.
I suggest you to jump and get the feel for real.
Then do an analysis of pro and cons.
Doing that in the air is just doing it in the air.
>
> Otoh, today I was re-reading some stuff about Julia language which looks
> as fine langauge, but it does not fit on one psotcard, although it
> provides more "classical" way of developing: editor+REPL along with
> Gtk(.jl) bindings.
>
> The language does perform very well, iow. it's quite fast which is good
> for my project, but it's a bit cumbersome since there is no support to
> compile end application, while it looks that Pharo has advantage here
> providing smoother way of deployment (multi-platform wise).
>
> Any hint?
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by John Pfersich
Cool, I haven't seen that resource yet. Thanks for the pointer. I'm currently getting up to speed on graph databases.
Sent from my iPad
> On Jan 3, 2016, at 01:54, Dimitris Chloupis <kilon.alios(a)gmail.com> wrote:
>
> there is no Pharo wiki too, but we have plenty of books and documentation that can be found here
>
> https://github.com/SquareBracketAssociates
>
>> On Sun, Jan 3, 2016 at 11:12 AM John Pfersich <jpfersich(a)gmail.com> wrote:
>>
>>
>> Sent from my iPad
>>
>> > On Jan 2, 2016, at 23:57, Saša Janiška <gour(a)atmarama.com> wrote:
>> >
>> >> On Sub, 2016-01-02 at 23:27 +0000, Dimitris Chloupis wrote:
>> >>
>> >> there is an an SQlite wrapper for pharo
>> >
>> > I know about it.
>> >
>> > However it would be nice to have some categorized catalog of the
>> > packages available for Pharo?
>> >
>>
>> +1
>> I find that I just browse the Configuration Browser to see what's out there and then google the name to see if I can find any documentation.
>>
>> And it would be nice to have a wiki like Squeak's.
>>
>> >> the screenshot you shared as Tudor said can be accomplished via
>> >> Roassal and Morphic.
>> >
>> > Now, I'm really a bit puzzled about Roassal' capabilities. :-)
>> >
>> >> Personally I find the whole performance question kinda irrelevant
>> >> because if you really want to squeeze the most performance code those
>> >> parts in C and call them from Pharo via its FFI. Not even Julia will
>> >> able to outperform that since itself relies on C code for performance
>> >> and its quite restrictive how you use its dynamic types to achieve
>> >> high performance.
>> >
>> > Well, the point is that e.g. I know people who tried to do similar apps
>> > in Python and it was too slow, they abandoned it and went to C++.
>> >
>> > That's the reason why I was primarily exploring statically-compiled
>> > languages. Julia *might* be interesting since it is higher-level
>> > language with fantastic, close to C performance when one helps compiler
>> > by annotating data types.
>> >
>> > In short, I want to avoid fiddling with low-level languages, otherwise
>> > it would be simple to just use C/GTK or C++/Qt. (Java could probably
>> > also do the job, but I simply do not like it.)
>> >
>> > For the most critical part of the application, I anyway plan to use 3rd
>> > party C lib which does calculate planetary ephemeris, but for the custom
>> > libs using it, I want to use higher-level and type-safer language.
>> >
>> >> In any case there are always 3 rules, profile, profile and profile.
>> >> When it comes to performance assume nothing. In the vast majority of
>> >> cases Pharo JIT VM should be more than enough.
>> >
>> > Let me see...
>> >
>> >> And if all you want to do is a business app I dont even know why you
>> >> worry about performance. Business apps they are very low demand on
>> >> performance.
>> >
>> > When I say 'business' app, it is most in the sense of typical 'desktop
>> > outlook', while the app itself is falling more into 'science' app, but
>> > it depends how one sees astronomy/astrology. :-)
>> >
>> >> Pharo libraries dont get irrelevant because the language is so simple
>> >> it barely changes and the changes usually dont brake compatibility.
>> >
>> > Pharo's simplicity of the language is huge 'pro'. ;)
>> >
>> >> Pharo can do REPL via the playground, the whole deal is that is a lot
>> >> more than that.
>> >
>> > Right, it's just that Julia provides more 'traditional' dev work-flow,
>> > while with Pharo one has to unwrap one's head a bit. :-)
>> >
>> >> GUI wise you can do some pretty awesome stuff with morphic.
>> >
>> > That I still have to learn...
>> >
>> >
>> > Sincerely,
>> > Gour
>> >
>> > --
>> > A person is said to be elevated in yoga when, having renounced
>> > all material desires, he neither acts for sense gratification
>> > nor engages in fruitive activities.
>> >
>> >
>> >
>> >
>> >
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Dimitris Chloupis
there is no Pharo wiki too, but we have plenty of books and documentation
that can be found here
https://github.com/SquareBracketAssociates
On Sun, Jan 3, 2016 at 11:12 AM John Pfersich <jpfersich(a)gmail.com> wrote:
>
>
> Sent from my iPad
>
> > On Jan 2, 2016, at 23:57, Saša Janiška <gour(a)atmarama.com> wrote:
> >
> >> On Sub, 2016-01-02 at 23:27 +0000, Dimitris Chloupis wrote:
> >>
> >> there is an an SQlite wrapper for pharo
> >
> > I know about it.
> >
> > However it would be nice to have some categorized catalog of the
> > packages available for Pharo?
> >
>
> +1
> I find that I just browse the Configuration Browser to see what's out
> there and then google the name to see if I can find any documentation.
>
> And it would be nice to have a wiki like Squeak's.
>
> >> the screenshot you shared as Tudor said can be accomplished via
> >> Roassal and Morphic.
> >
> > Now, I'm really a bit puzzled about Roassal' capabilities. :-)
> >
> >> Personally I find the whole performance question kinda irrelevant
> >> because if you really want to squeeze the most performance code those
> >> parts in C and call them from Pharo via its FFI. Not even Julia will
> >> able to outperform that since itself relies on C code for performance
> >> and its quite restrictive how you use its dynamic types to achieve
> >> high performance.
> >
> > Well, the point is that e.g. I know people who tried to do similar apps
> > in Python and it was too slow, they abandoned it and went to C++.
> >
> > That's the reason why I was primarily exploring statically-compiled
> > languages. Julia *might* be interesting since it is higher-level
> > language with fantastic, close to C performance when one helps compiler
> > by annotating data types.
> >
> > In short, I want to avoid fiddling with low-level languages, otherwise
> > it would be simple to just use C/GTK or C++/Qt. (Java could probably
> > also do the job, but I simply do not like it.)
> >
> > For the most critical part of the application, I anyway plan to use 3rd
> > party C lib which does calculate planetary ephemeris, but for the custom
> > libs using it, I want to use higher-level and type-safer language.
> >
> >> In any case there are always 3 rules, profile, profile and profile.
> >> When it comes to performance assume nothing. In the vast majority of
> >> cases Pharo JIT VM should be more than enough.
> >
> > Let me see...
> >
> >> And if all you want to do is a business app I dont even know why you
> >> worry about performance. Business apps they are very low demand on
> >> performance.
> >
> > When I say 'business' app, it is most in the sense of typical 'desktop
> > outlook', while the app itself is falling more into 'science' app, but
> > it depends how one sees astronomy/astrology. :-)
> >
> >> Pharo libraries dont get irrelevant because the language is so simple
> >> it barely changes and the changes usually dont brake compatibility.
> >
> > Pharo's simplicity of the language is huge 'pro'. ;)
> >
> >> Pharo can do REPL via the playground, the whole deal is that is a lot
> >> more than that.
> >
> > Right, it's just that Julia provides more 'traditional' dev work-flow,
> > while with Pharo one has to unwrap one's head a bit. :-)
> >
> >> GUI wise you can do some pretty awesome stuff with morphic.
> >
> > That I still have to learn...
> >
> >
> > Sincerely,
> > Gour
> >
> > --
> > A person is said to be elevated in yoga when, having renounced
> > all material desires, he neither acts for sense gratification
> > nor engages in fruitive activities.
> >
> >
> >
> >
> >
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by Dimitris Chloupis
"
I know about it.
However it would be nice to have some categorized catalog of the
packages available for Pharo?"
I am considering making such a tool, I call it "Tartara" and it was always
in my mind because my project Ephestos is a collections of tools and I
wanted package manager that was more sophisticated than Catalog Browser.
"Now, I'm really a bit puzzled about Roassal' capabilities. :-)"
Roassal is a well design vector graphics API that specializes in data
visualisation.
"Well, the point is that e.g. I know people who tried to do similar apps
in Python and it was too slow, they abandoned it and went to C++.
That's the reason why I was primarily exploring statically-compiled
languages. Julia *might* be interesting since it is higher-level
language with fantastic, close to C performance when one helps compiler
by annotating data types.
In short, I want to avoid fiddling with low-level languages, otherwise
it would be simple to just use C/GTK or C++/Qt. (Java could probably
also do the job, but I simply do not like it.)
For the most critical part of the application, I anyway plan to use 3rd
party C lib which does calculate planetary ephemeris, but for the custom
libs using it, I want to use higher-level and type-safer language."
The only reason to go C++ is that you want from the first till the last
millisecond of your application to have super performance, but if you want
to go nuclear performance then languages like CUDA and OpenCL that take
advantage of GPUs superior parallelism , provided you do the same
calculation over myriads of instances of DATA, will give you easily from
3-100 times faster than C/C++ code execution. So that means you can use
something like pyCuda to easily outperform C++. Also tools like cython that
offer very close to python syntax can even outperform C/C++ mainly because
of the optimizations that VM is doing and the ability to Cython to produce
optimised C code.
The reality is that pure C++ project become rarer and rarer , for example I
use Blender, its 1.4 million lines of code, python is around 13% and if we
turn it to equivalent C lines of code it must be around 25% and I suspect
another 30% is Cuda / OpenCL, and we talking here about super performance
3d application. Still only 50% is built in C/C++/ObjC.
https://www.openhub.net/p?ref=homepage&query=blender
In the end its easy to port parts that are not fast to C and call them from
Pharo. I remember also that there was a library to use OpenCL from Pharo
too. So speed wise you are covered. Pharo even has something similar to
cython called Slang that is used to create the Pharo VM.
"Right, it's just that Julia provides more 'traditional' dev work-flow,
while with Pharo one has to unwrap one's head a bit. :-)"
Absolutely and I wont lie to you this definetly increase the learning
curve, but frankly it worths it because you come to realize that the
traditional way is actually weird and not a very "natural" way of thinking.
If C++ is high level, python is higher level then Pharo is highest level
language. It maps to the brain completely ignoring the machine
architecture. But that takes time to get used to , however if you are
interested in such approach I promise you will love pharo.
"When I say 'business' app, it is most in the sense of typical 'desktop
outlook', while the app itself is falling more into 'science' app, but
it depends how one sees astronomy/astrology. :-)"
well astrology is not science, astronomy is. An example of a pharo
astronomy app is here
http://astares.blogspot.gr/2014/04/astrocloud-using-pharo-smalltalk-and.html
take also a look at this
http://forum.world.st/Pharo-and-Astronomy-tp3027615p3042834.html
On Sun, Jan 3, 2016 at 11:12 AM John Pfersich <jpfersich(a)gmail.com> wrote:
>
>
> Sent from my iPad
>
> > On Jan 2, 2016, at 23:57, Saša Janiška <gour(a)atmarama.com> wrote:
> >
> >> On Sub, 2016-01-02 at 23:27 +0000, Dimitris Chloupis wrote:
> >>
> >> there is an an SQlite wrapper for pharo
> >
> > I know about it.
> >
> > However it would be nice to have some categorized catalog of the
> > packages available for Pharo?
> >
>
> +1
> I find that I just browse the Configuration Browser to see what's out
> there and then google the name to see if I can find any documentation.
>
> And it would be nice to have a wiki like Squeak's.
>
> >> the screenshot you shared as Tudor said can be accomplished via
> >> Roassal and Morphic.
> >
> > Now, I'm really a bit puzzled about Roassal' capabilities. :-)
> >
> >> Personally I find the whole performance question kinda irrelevant
> >> because if you really want to squeeze the most performance code those
> >> parts in C and call them from Pharo via its FFI. Not even Julia will
> >> able to outperform that since itself relies on C code for performance
> >> and its quite restrictive how you use its dynamic types to achieve
> >> high performance.
> >
> > Well, the point is that e.g. I know people who tried to do similar apps
> > in Python and it was too slow, they abandoned it and went to C++.
> >
> > That's the reason why I was primarily exploring statically-compiled
> > languages. Julia *might* be interesting since it is higher-level
> > language with fantastic, close to C performance when one helps compiler
> > by annotating data types.
> >
> > In short, I want to avoid fiddling with low-level languages, otherwise
> > it would be simple to just use C/GTK or C++/Qt. (Java could probably
> > also do the job, but I simply do not like it.)
> >
> > For the most critical part of the application, I anyway plan to use 3rd
> > party C lib which does calculate planetary ephemeris, but for the custom
> > libs using it, I want to use higher-level and type-safer language.
> >
> >> In any case there are always 3 rules, profile, profile and profile.
> >> When it comes to performance assume nothing. In the vast majority of
> >> cases Pharo JIT VM should be more than enough.
> >
> > Let me see...
> >
> >> And if all you want to do is a business app I dont even know why you
> >> worry about performance. Business apps they are very low demand on
> >> performance.
> >
> > When I say 'business' app, it is most in the sense of typical 'desktop
> > outlook', while the app itself is falling more into 'science' app, but
> > it depends how one sees astronomy/astrology. :-)
> >
> >> Pharo libraries dont get irrelevant because the language is so simple
> >> it barely changes and the changes usually dont brake compatibility.
> >
> > Pharo's simplicity of the language is huge 'pro'. ;)
> >
> >> Pharo can do REPL via the playground, the whole deal is that is a lot
> >> more than that.
> >
> > Right, it's just that Julia provides more 'traditional' dev work-flow,
> > while with Pharo one has to unwrap one's head a bit. :-)
> >
> >> GUI wise you can do some pretty awesome stuff with morphic.
> >
> > That I still have to learn...
> >
> >
> > Sincerely,
> > Gour
> >
> > --
> > A person is said to be elevated in yoga when, having renounced
> > all material desires, he neither acts for sense gratification
> > nor engages in fruitive activities.
> >
> >
> >
> >
> >
>
>
Jan. 3, 2016
Re: [Pharo-users] Lawsuit Tracker app
by John Pfersich
Sent from my iPad
> On Jan 2, 2016, at 23:57, Saša Janiška <gour(a)atmarama.com> wrote:
>
>> On Sub, 2016-01-02 at 23:27 +0000, Dimitris Chloupis wrote:
>>
>> there is an an SQlite wrapper for pharo
>
> I know about it.
>
> However it would be nice to have some categorized catalog of the
> packages available for Pharo?
>
+1
I find that I just browse the Configuration Browser to see what's out there and then google the name to see if I can find any documentation.
And it would be nice to have a wiki like Squeak's.
>> the screenshot you shared as Tudor said can be accomplished via
>> Roassal and Morphic.
>
> Now, I'm really a bit puzzled about Roassal' capabilities. :-)
>
>> Personally I find the whole performance question kinda irrelevant
>> because if you really want to squeeze the most performance code those
>> parts in C and call them from Pharo via its FFI. Not even Julia will
>> able to outperform that since itself relies on C code for performance
>> and its quite restrictive how you use its dynamic types to achieve
>> high performance.
>
> Well, the point is that e.g. I know people who tried to do similar apps
> in Python and it was too slow, they abandoned it and went to C++.
>
> That's the reason why I was primarily exploring statically-compiled
> languages. Julia *might* be interesting since it is higher-level
> language with fantastic, close to C performance when one helps compiler
> by annotating data types.
>
> In short, I want to avoid fiddling with low-level languages, otherwise
> it would be simple to just use C/GTK or C++/Qt. (Java could probably
> also do the job, but I simply do not like it.)
>
> For the most critical part of the application, I anyway plan to use 3rd
> party C lib which does calculate planetary ephemeris, but for the custom
> libs using it, I want to use higher-level and type-safer language.
>
>> In any case there are always 3 rules, profile, profile and profile.
>> When it comes to performance assume nothing. In the vast majority of
>> cases Pharo JIT VM should be more than enough.
>
> Let me see...
>
>> And if all you want to do is a business app I dont even know why you
>> worry about performance. Business apps they are very low demand on
>> performance.
>
> When I say 'business' app, it is most in the sense of typical 'desktop
> outlook', while the app itself is falling more into 'science' app, but
> it depends how one sees astronomy/astrology. :-)
>
>> Pharo libraries dont get irrelevant because the language is so simple
>> it barely changes and the changes usually dont brake compatibility.
>
> Pharo's simplicity of the language is huge 'pro'. ;)
>
>> Pharo can do REPL via the playground, the whole deal is that is a lot
>> more than that.
>
> Right, it's just that Julia provides more 'traditional' dev work-flow,
> while with Pharo one has to unwrap one's head a bit. :-)
>
>> GUI wise you can do some pretty awesome stuff with morphic.
>
> That I still have to learn...
>
>
> Sincerely,
> Gour
>
> --
> A person is said to be elevated in yoga when, having renounced
> all material desires, he neither acts for sense gratification
> nor engages in fruitive activities.
>
>
>
>
>
Jan. 3, 2016