Live data from Hacker News

Free Pascal Compiler Version 3.0.0

getlazarus.org

41–50 of 112 posts

Re: Free Pascal Compiler Version 3.0.0

#41
post #7

Earlier quoted context omitted.

The firm where I currently work has a rather huge Delphi legacy software. You'd be surprised how much is still being "extracted" out of if. The more modern (and better built, but I'm biased, as I'm part of the team developing it) web app, which is meant to replace the Delphi one, has not had the same success. It's picking up momentum though...

If it's better built then why hasn't had the same success? What are your metrics for "better"? What does "more modern" mean exactly? I don't see that there's much value in pursuing design or implementation purity if the software isn't getting the same end user take-up.

My guess.. we're talking years of investment in a (presumably monolithic) "huge" Delphi system.

Either spend even more years adding the needed features while fighting the upscale hill.. (especially when introducing bigdata)

..or develop an alternative made out of simpler beasts: clean separation to avoid hydra scenario's. It takes time to beat that, but i see reasons to go away from a huge monolithic beast.

Re: Free Pascal Compiler Version 3.0.0

#42
post #40

Earlier quoted context omitted.

Assuming you're no longer in Germany, say hi to Vanessa and Tommy from me.

Sorry? I think you're confusing me with someone else :) FYI, still in Germany and don't know any Vanessa or Tommy.

Sorry, i just happened to hear the exact same story at an event recently. :)

Re: Free Pascal Compiler Version 3.0.0

#43
post #23
post #18

In China, Pascal is a very popular language for high school beginners of Olympiad in Informatics (see http://www.ioinformatics.org/ for the international competition). And it's probably the most used language in the provincial level competition, National Olympiad in Informatics in Province. Yet those who reach the national level will likely switch to C++ for many reasons (STL, performance, etc.). I myself started pro…

Same in Lithuania. Everyone who intends to do a degree in computer science is taught Pascal, olympiads are in Pascal/C++. Whether it's a good language to teach highschoolers (students in general, not preparing for olympiads) or not, I am not so sure. On one hand, yeah, it's pretty simple. On other hand, I'd lean towards Python simply because it's more widespread in industry, as a result you have tons of well document…

To be honest they should teach JavaScript instead of Python in highschools. Websites ('web apps'..) are a big deal in, atleast, teenager's life, so they could atleast install Tampermonkey plugin and script some functionality for their favorite websites.

Meanwhile after learning python if you won't work in IT is useless. Plus requirement to install Python, include python in PATH and use CMD to launch .py scripts is a detterant, while with Javascript you just press F12 in browser and bam - development environment ready and lets you to manipulate open web page, which is also more exciting than console applications.

Re: Free Pascal Compiler Version 3.0.0

#44
post #43
post #23

Earlier quoted context omitted.

Same in Lithuania. Everyone who intends to do a degree in computer science is taught Pascal, olympiads are in Pascal/C++. Whether it's a good language to teach highschoolers (students in general, not preparing for olympiads) or not, I am not so sure. On one hand, yeah, it's pretty simple. On other hand, I'd lean towards Python simply because it's more widespread in industry, as a result you have tons of well document…

To be honest they should teach JavaScript instead of Python in highschools. Websites ('web apps'..) are a big deal in, atleast, teenager's life, so they could atleast install Tampermonkey plugin and script some functionality for their favorite websites. Meanwhile after learning python if you won't work in IT is useless. Plus requirement to install Python, include python in PATH and use CMD to launch .py scripts is a…

Good point. A few weeks ago I made a similar point here on HN, that web dev is good for starting.

Given more thoughts, I am fairly conflicted/confused about web apps vs Python :)

Web apps, as you've said, are pretty straightforward, minimal setup, extremely easy to relate to. I guess many folks who aren't familiar with coding have an idea for web site or two. That makes it a great motivator, no doubt. If a friend asked where to start, I'd probably point to this direction. HTML5 games is a pretty good choice too, and Phaser is a neat framework to start with.

However, there are a few problems with this approach.

First, most of the development/studying would be more about the details of browsers/jQuery/javascript itself. How to get the content of this input, how to attach this event, etc. The problem is that it doesn't do much to teach the mindset of programming. You know, when to apply for loop, when while loop, etc.

The other problem is that web dev is moving much much faster than most of the education systems in the world. In 2010, you probably would have taught about jQuery. In 2015, you probably would use vanilla JS as it's good enough, modern browsers are following the standards well enough. And then you have all the html5 elements (video, etc), css3 properties which are fairly important nowadays but didn't exist 5 years ago (or the browser support was poor).

So, web dev might work quite well for motivated individuals and equally motivated teachers but probably less so for mainstream education (i.e. highschools).

Re: Free Pascal Compiler Version 3.0.0

#45

Earlier quoted context omitted.

If it's better built then why hasn't had the same success? What are your metrics for "better"? What does "more modern" mean exactly? I don't see that there's much value in pursuing design or implementation purity if the software isn't getting the same end user take-up.

My guess.. we're talking years of investment in a (presumably monolithic) "huge" Delphi system. Either spend even more years adding the needed features while fighting the upscale hill.. (especially when introducing bigdata) ..or develop an alternative made out of simpler beasts: clean separation to avoid hydra scenario's. It takes time to beat that, but i see reasons to go away from a huge monolithic beast.

I don't remember hearing that the behemoth will be extended with large(-ish) new modules. It will receive several features though. The truth is that they can't just throw it out the window, especially with global scale clients still using it.

Re: Free Pascal Compiler Version 3.0.0

#46
I am currently working on a project that I will be using at home between my laptop and (not so powerful) Raspberry PI. I am well versed in C and this project is written in it, with very minimal dependencies (currently talloc, libbsd and makeheaders). I am trying to keep resource usage at a bare minimum on the server side (Raspberry PI) for obvious reasons.

I've never worked with Pascal, and I've been looking for an alternative to C that solves some of the issues I'm having without sacrificing too many of its advantages. Since fpc is available for armv6, I am wondering if someone could give me advice on whether moving this project to Pascal would be beneficial, especially compared to the following points:

- A proper module system, without having to keep .h and .c files in sync when the interfaces aren't stable yet. I am currently using makeheaders to make things less annoying for me.

- Compiler warnings, cppcheck and scan-build offer me great feedback. Emacs integration of these tools is priceless.

- The ability to do things like recv() into the middle of a buffer. That is just too efficient to let go of. I think this is something many people overlook when comparing C to other programming languages, many times you can turn O(2n) into O(n) by taking advantage of this. Not theoretically different, but in practice it can pay off.

- Emacs integration and support. Nice to have would be support for auto-completion, static analysis, etc...

- Documentation. Man 2, 3 and 3p are priceless. Emacs man integration is great.

- Number types that are exactly the same across architectures. eg, I've had issues because off_t was ulong on one machine and ulonglong on the other.

- Memory management, error handling and everything you need to do that has nothing to do with the task at hand. It gets old quickly.

- Optionally high-level, I am comfortable working with pointers and addressing memory directly, but sometimes I look for elegance where I know performance is not going to be affected too much (ie, the trade-off is acceptable). This also means that when I'm working with higher-level constructs, I'd like to have easy access to the inner workings so that I can make such a judgement myself (either through documentation or other means).

- I don't care too much about compilation speed.

- Easy semantics and simplicity of things. I really don't think I can put that into words, it's better understood through experience. But this is one of the biggest reasons I stick with C rather than C++ or Rust.

- The availability of a widely approved guide that doesn't go into the very basics of programming to explain the language (maybe some sort of Pascal for C people kind of thing).

- There are probably a few more points I could talk about but can't think of right now. I could write them down some time later if anyone is interested.

Thank you in advance, I would really appreciate if anybody can help me with these points, I'm looking for new adventures :)

Re: Free Pascal Compiler Version 3.0.0

#47
post #11

For people who are going to ask "Do people still use pascal?", long story short-> yes they do, and Free Pascal Compiler is not only the traditional Pascal that we used to lean in school, it's also an Object Pascal compiler, and has many many libraries for modern programming :)) I started learning programming with Pascal when I was a child, it helped me to understand many things, lately I had a look at Python, which I…

If you want to dive into the world of Oberon you should check the PDFs available at Niklaus Wirth web site and AOS. http://www.ethoberon.ethz.ch/books.html http://www.ocp.inf.ethz.ch/wiki/Documentation/Front You can also have a look how the OS used at ETHZ were like: http://progtools.org/article.php?name=oberon&section=compile... We already had it quite good on the PC with Turbo Pascal and later Delphi, which is why…

To be fair, most of the benchmarks I've seen from end-users don't have .NET Native outperforming the CLR except in huge number crunching situations[1,2]. As one would imagine in those scenarios using your standard stack of C++ with the GNU GSL[3] (which includes your BLAS, GMP, PDE, and standard lin. alg. stuff) is still pretty much king with MPL (based on MPI) with some (often modest, sometimes incredible OpenCL gains). In numerical methods, Fortran w/ a modern Intel MKL and MPI still reign for SIMD. I guess what I'm saying is, for your day to day Rapid App Dev (which Borland Delphi + the VCL was absolutely king at up until MS put out Lightswitch) you weren't really crunching away. Likewise, especially with modern JIT'ing if you _do_ crunch with a language that hit's the CLR hard, you still get performance similar to .NET Native (contrary to MS claims of "performance similar to C++). I've been a MS advocate for ages and admire what they've been doing since ~2005 at MSR all the way to the production cash cows[MS SQL Standard gives you a ~LOT~ of bang for your buck with SSDT/SSAS/SSRS] (check my 8 year post history - when everyone was rails rails! iOS! MBP!! I was silently C#3'ing along); I say all this as a long preface to pose this question - what exactly did .NET Native bring that presumably made it catch up to TP/Delphi?

[1] http://code4k.blogspot.com/2014/06/micro-benchmarking-net-na... [2] https://dzone.com/articles/net-native-performance-and [3] http://www.gnu.org/software/gsl/

Re: Free Pascal Compiler Version 3.0.0

#48
post #43
post #23

Earlier quoted context omitted.

Same in Lithuania. Everyone who intends to do a degree in computer science is taught Pascal, olympiads are in Pascal/C++. Whether it's a good language to teach highschoolers (students in general, not preparing for olympiads) or not, I am not so sure. On one hand, yeah, it's pretty simple. On other hand, I'd lean towards Python simply because it's more widespread in industry, as a result you have tons of well document…

To be honest they should teach JavaScript instead of Python in highschools. Websites ('web apps'..) are a big deal in, atleast, teenager's life, so they could atleast install Tampermonkey plugin and script some functionality for their favorite websites. Meanwhile after learning python if you won't work in IT is useless. Plus requirement to install Python, include python in PATH and use CMD to launch .py scripts is a…

Python has it's place. When teaching kids, I guess it comes down to two things - are you targeting the lowest barrier to entry to make something whiz-bang to appeal to the largest common denominator of "I use Facebook so I'd like to make 'computer things'", in which case, alright they can install Tampermonkey and mess with a really inconsistent language like Ecmascript5[1] then spend a lot of time explaining things like the DOM and how to traverse it, then the issue of how to manipulate certain things (what do if getElementByName isn't working because someone decided to not properly tag things?), followed by now we have to teach them CSS so they actually can alter the aesthetics or worse, teach them JS so can actually add functionality (which involves all of the ES5 shims and a huge confusing ecosystem that even people in the industry like us have to spend tons of time working on).

On the other hand Python can be installed with one binary on Macs, Windows, and Linux with 300 packages and an IDE[1] and they'll be able to use it with the Excel spreadsheets down the road which they'll inevitably have to deal with if they're the average white-collar office worker. (See: http://xlwings.org/ and say goodbye to VBA). The large majority of people will actually use Excel on a regular basis and if their job involves reconciling a lot of semi-structured data, as it frequently occurs with my friends in the social sciences or other non-CS fields, they'll largely benefit from Python.

Not only that but after having a core Python knowledge, with the same Anaconda package, you'll be able to make your own QT-native crossplatform full GUI binaries with an 'import PySide' or write your own 'web apps' with equal ease.

If your goal is to maximize the performance of your students in international competitive programming competitions, then you should be teaching them out of Competitive Programming and Steve Skeina's book so they recognize what category the problem falls into (it's usually one of 5 or 6), along with C++ plus the standard C++ libraries that everyone uses that loads in GMP, makes matrix manipulation easy, etc.

If your goal is to cater to the guys to teach fundamentals to those who are going to matriculate into the CS uni path, then both are wrong and you should be teaching out of something like the SICP from the 'top down' and something like ML from the 'bottom up'.

[1] https://www.continuum.io/downloads if you don't like Anaconda, there are a boatload of competitors like https://python-xy.github.io/ that come with Spyder, which I think we both will agree offers a better development experience than Tampermonkey.

Re: Free Pascal Compiler Version 3.0.0

#49

Do people code in Pascal still?! I remember it from years ago in high school and it seemed like it was already ancient then. Nothing against the language itself, it was straightforward and easy to learn on. Just surprised to see a new compiler for it coming out.

"A new compiler" is a bit of a stretch. The Free Pascal project has been around for about 20 years.

A major version bump suggests a compatibility-breaking change, which would surprise me at this stage in the language lifecycle.

Re: Free Pascal Compiler Version 3.0.0

#50
post #43
post #23

Earlier quoted context omitted.

Same in Lithuania. Everyone who intends to do a degree in computer science is taught Pascal, olympiads are in Pascal/C++. Whether it's a good language to teach highschoolers (students in general, not preparing for olympiads) or not, I am not so sure. On one hand, yeah, it's pretty simple. On other hand, I'd lean towards Python simply because it's more widespread in industry, as a result you have tons of well document…

To be honest they should teach JavaScript instead of Python in highschools. Websites ('web apps'..) are a big deal in, atleast, teenager's life, so they could atleast install Tampermonkey plugin and script some functionality for their favorite websites. Meanwhile after learning python if you won't work in IT is useless. Plus requirement to install Python, include python in PATH and use CMD to launch .py scripts is a…

That's a very Windows-centric view of the world. Macs are increasing popular in education and come with Python pre-installed. Linux comes with Python pre-installed. iOS / Android require installing an app to do local programming either way, and I'd argue the Python writing apps are better than their javascript writing apps.

Microsoft should fix the "bug" that its operating system is missing interpreters for Perl, Python, etc... (Oddly enough, this list also includes javascript!)

Post reply on HN