I am investigating a crash of lazarus on the amd64 platfrom.
Part of the backtrace looks like this:
#18 0x00434ea0 in TAPPLICATION__RUN (this=Cannot access memory
at address 0x8000ed18
) at application.inc:980
Note the parameter of TApplication.Run is not shown, because of the
If i compile rtl with debug info (make debug), then i get at start of my
multithreaded app:
An unhandled exception occurred at $08062B3C :
ERangeError : Range check error
$08062B3C CGETCURRENTTHREADID, line 310 of ../unix/cthreads.pp
$0805ADAD GETCURRENTTHREADID, line 136 of
From: Gerhard Scholz
Sent: woensdag 1 juni 2005 18:35
- Original Message -
From: Marco van de Voort [EMAIL PROTECTED]
To: FPC developers' list fpc-devel@lists.freepascal.org
Sent: Wednesday, June 01, 2005 1:50 PM
Subject: Re: [fpc-devel] Re: [fpc-l] type discussion
[big snip]
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of listmember
Maybe a few things should be borrowed from RemObjects Chrome, such as
-- Class Contracts
http://www.remobjects.com/page.asp?id={DFA00D71-D5A4-40A3-9FD0-251899EB30
D8}
I like the 'require/ensure' aproach.
It makes the code
On Thursday 02 June 2005 13:04, Jamie McCracken wrote:
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#.
In terms of _written_ or in terms of _working_ lines of code? :-
Vinzent.
--
public key:
Jamie McCracken wrote:
Marc Weustink wrote:
What is easier to read is a matter of taste.
Being a pascal devel for years now, it takes time to decode a a := b
:= c := d := 0 line. There might be a ; inbeween which results in a
complete different assignment. With such lines I've to read
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:04, Jamie McCracken wrote:
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#.
In terms of _written_ or in terms of _working_ lines of code? :-
Dont kid yourself - a lot of my
Jamie McCracken wrote:
Marc Weustink wrote:
What is easier to read is a matter of taste.
Being a pascal devel for years now, it takes time to decode a a := b
:= c := d := 0 line. There might be a ; inbeween which results in a
complete different assignment. With such lines I've to read
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
MyObject.Create is impossible with classes on the heap. You need to
assign MyObject a pointer but you can't do that from within
On Thursday 02 June 2005 13:22, Jamie McCracken wrote:
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:04, Jamie McCracken wrote:
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#.
In terms of _written_ or in terms of
On Thu, 2 Jun 2005, Jamie McCracken wrote:
Marc Weustink wrote:
What is easier to read is a matter of taste.
Being a pascal devel for years now, it takes time to decode a a := b
:= c := d := 0 line. There might be a ; inbeween which results in a
complete different assignment. With such
On Thu, 02 Jun 2005 14:22:55 +0100
Jamie McCracken [EMAIL PROTECTED] wrote:
In terms of _written_ or in terms of _working_ lines of code? :-
Dont kid yourself - a lot of my fellow Delphi programmers have dumped it
for C# already so it is really worrying for me espcially with borland
C#
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet with any
python programmer that I create any application faster than him :)
You must be a damn fast typer then :)
Ironically python is perhaps the
most popular language on Linux and most of its
Michael Van Canneyt wrote:
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#. Ironically python is
perhaps the most popular language on Linux and most of its syntax is
derived from object pascal whereas pascal on linux is
Jamie McCracken wrote:
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet with
any
python programmer that I create any application faster than him :)
You must be a damn fast typer then :)
I teached myself typing with 10 fingers, but typing is
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:04, Jamie McCracken wrote:
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#.
In terms of _written_ or in terms of _working_ lines of code? :-
Both in fact as they are
On Thursday 02 June 2005 13:38, Jamie McCracken wrote:
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet
with any python programmer that I create any application faster
than him :)
You must be a damn fast typer then :)
No, that's a common
Micha Nelissen wrote:
On Thu, 02 Jun 2005 14:22:55 +0100
Jamie McCracken [EMAIL PROTECTED] wrote:
In terms of _written_ or in terms of _working_ lines of code? :-
Dont kid yourself - a lot of my fellow Delphi programmers have dumped it
for C# already so it is really worrying for me
Florian Klaempfl wrote:
If that were the case then yeah it would sux (however pythons
performance is due to bien a bytecode interpreter and dynamic typing
neither of which we need in pascal).
Ref. counting etc. eats time because you need good garbage collection to detect
cycles and other
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:38, Jamie McCracken wrote:
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet
with any python programmer that I create any application faster
than him :)
You must be a damn fast typer then :)
No,
On Thu, 02 Jun 2005 14:52:13 +0100
Jamie McCracken [EMAIL PROTECTED] wrote:
C# is very much like delphi, not at all like Python. What were their
reasons to switch ?
Because its so close to Delphi and they have switched because they
found it more productive. No forward declarations,
On Thu, 2 Jun 2005, Jamie McCracken wrote:
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:38, Jamie McCracken wrote:
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet
with any python programmer that I create any application faster
than him :)
Michael Van Canneyt wrote:
I don't consider Ojbect Pascal to be verbose at all, so it's not an
issue for
me...
Well I will typically spend about 25% of my development time with
forward declarations, doing loads of try finaly blocks to free memory
and other things instead of implementing
On Thursday 02 June 2005 14:01, Jamie McCracken wrote:
Vinzent Hoefler wrote:
What matters is designing und understanding the code, not writing
it. I spend less than 10% of my time at work in actually _writing_
code, so even if someone can type in his/her code twice as fast,
the maximum
Micha Nelissen wrote:
I don't understand, why are these forward declarations so evil ?
More code bloat, more typing and they get in the way. They dont give me
anything useful in return.
Garbage collection is largely no issue when using the Owner concept in
TComponent, using
On Thursday 02 June 2005 14:24, Jamie McCracken wrote:
Well I will typically spend about 25% of my development time with
forward declarations, doing loads of try finaly blocks to free memory
and other things instead of implementing my application.
I typically spend 80% of my development time
Vinzent Hoefler wrote:
On Thursday 02 June 2005 14:01, Jamie McCracken wrote:
Vinzent Hoefler wrote:
What matters is designing und understanding the code, not writing
it. I spend less than 10% of my time at work in actually _writing_
code, so even if someone can type in his/her code twice
On Thu, 02 Jun 2005 15:31:51 +0100
Jamie McCracken [EMAIL PROTECTED] wrote:
Micha Nelissen wrote:
I don't understand, why are these forward declarations so evil ?
More code bloat, more typing and they get in the way. They dont give me
anything useful in return.
Please show me a
Micha Nelissen wrote:
On Thu, 02 Jun 2005 15:31:51 +0100
Jamie McCracken [EMAIL PROTECTED] wrote:
Micha Nelissen wrote:
I don't understand, why are these forward declarations so evil ?
More code bloat, more typing and they get in the way. They dont give me
anything useful in return.
On Thursday 02 June 2005 14:44, Jamie McCracken wrote:
My point is to to reduce or remove *redundant* syntax that serves no
useful or productive purpose (to the programmer).
Well applied redundancy is a good thing.
Forward declarations are redundant - they exist purely for the
benefit of
On Thu, 02 Jun 2005 15:54:54 +0200
Sebastian Kaliszewski [EMAIL PROTECTED] wrote:
The studies show that in high level languages (C nothwithstanding) there is
very evident but simple correlation -- number of programmer errors per
language construct (typically in not obfuscated code it's very
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Jamie
McCracken
Sent: donderdag 2 juni 2005 16:32
var strlist : TStringlist;
strlist := Tstringlist.create;
I know strlist is a Tstringlist, the compiler knows it too as I have
declared it so why do I have to spell it out in the
Michael Van Canneyt wrote:
This is only 'logical' if the hypothesis
productivity is inversely related to the syntax verbosity
is correct.
And it's not.
What is correct is productivity is directly related to the number of
separate language constructs developer has to put in program to
Sorry, the only language that does what ?
var strlist : TStringlist;
strlist := Tstringlist.create;
I know strlist is a Tstringlist, the compiler knows it too as I have
declared it so why do I have to spell it out in the creation process?
In C++:
TStringList strlist;
strlist =
On Thursday 02 June 2005 15:16, Uberto Barbini wrote:
If the goal is this, I'd prefear a way to declare objects
autocreated:
varauto:
strlist: TStringList;
begin
//some stuff
end;
[...]
It could be a problem to pass parameters to the constructor.
Yes, exactly. So why bother the
Michael Van Canneyt wrote:
But the compiler needs to check many things:
1. Initialize the S with Nil.
2. Check that S is assigned only once during the lifetime of the
procedure.
This is actually a bigger restriction than you might think,
unless you want to introduce reference
Vinzent Hoefler wrote:
On Thursday 02 June 2005 15:16, Uberto Barbini wrote:
If the goal is this, I'd prefear a way to declare objects
autocreated:
varauto:
strlist: TStringList;
begin
//some stuff
end;
[...]
It could be a problem to pass parameters to the constructor.
Yes,
Marco van de Voort wrote:
Some of these target functionality (specially in the linking section) might
require restructures
related to
* introduction of an internal linker for some core platforms (no more
LD)
* Rewrite of module (unit) handling
Yes, these would be great,
Vinzent Hoefler wrote:
On Thursday 02 June 2005 13:54, Sebastian Kaliszewski wrote:
No, they aren't (or let me put it this way: It depends on what you
measure). For instance, studies indicate that there are ten times more
errors code in C code then in Ada code once you've delivered the
On Thursday 02 June 2005 13:38, Jamie McCracken wrote:
Florian Klaempfl wrote:
I'am a poor delphi programmer, didn't use it for years, but I bet
with any python programmer that I create any application faster
than him :)
You must be a damn fast typer then :)
No, that's a common
Marco van de Voort wrote:
Also, I simply don't see the use of it. Borland Pascal's have the forward
directive for those really few cases where it is annoying.
Also, forward declarations mostly mean shitty code / design.
Atleast in my case it does.
On Thursday 02 June 2005 13:54, Sebastian Kaliszewski wrote:
probably the greaytest impact on Objective Pascal productioveness
would come from allowing programmers to declare classes like self
managing (self freeing, not needeing explicit destructions).
Maybe, yes. But I'm old school. I
Begin..End is redundant - you have to indent them to make em readable
anyways.
No. This makes the code more readable like normal english text. It
states much more clearly what it intents, at least much more than just
indenting or putting curly braces around it.
Not every syntax is
Marco van de Voort wrote:
I think the time spent doing the manual compilation is overestimated, and
the time problem solving in automatic allocation is underestimated.
How many Java programmers routine set references to NIL ? Really a lot...
This only shows the implementation (and std library
Michael Van Canneyt wrote:
This is only 'logical' if the hypothesis
productivity is inversely related to the syntax verbosity
is correct.
And it's not.
What is correct is productivity is directly related to the number of
separate language constructs developer has to put in
Michael Van Canneyt wrote:
This is not so easy, and reference counting is always a mess...
Well you already have the code for ref counting for com objects so its
not like its a ton of work and therefore we dont need to worry about
your four points. Adding C++ style exception
The difference was that the same task could be coded in some languages
using significantly lesser number of lines.
But that doesn't necessarily equal to less overall time. Also specially
the size of the testing code pieces. The troubles typically only start when
the program grows larger.
L505 wrote:
| Yeah I know this sounds like a hybrid Pascal/python but I believe thats
| the way to go - marry Delphi's speed and component framework with less
| verbose python style syntax and you will have the best RAD language ever
| written.
|
You are asking to reinvent python. If I were
This only shows the implementation (and std library design) is bad (and
that's true at least to java 1.4)
I hear this from nearly any language with automated allocation (C#, Python,
Perl, Java). The concept is simple and attractive, the practice seems to
be different.
I'm not a grear fan
|
|
| I'am a poor delphi programmer, didn't use it for years, but I bet with
| any
| python programmer that I create any application faster than him :)
|
|
| You must be a damn fast typer then :)
Sometimes it's which keys are near the home key. I don't care if { is shorter
than
begin,
listmember wrote:
Inline variable initializers, such as:
...
function Something(...): Boolean = False;
var
Integer1: Integer = 15;
Boolean1: Boolean = False;
String1: String = 'SOME TEXT';
begin
end;
Such constructs are subject to frequent misinterpretation :-(
I assume that
Jamie McCracken wrote:
For me I prefere clarity above less typing (besides if you want to write
realy short code, you sould use APL)
I totally agree with you in this case - we dont want or need cryptic c
stlye syntax in any version of Pascal.
ACK.
However, in general Pascal has poor
| More code bloat, more typing and they get in the way. They dont give me
| anything useful in return.
Why do you even bother using Pascal, it seems you obviously do not like one bit
about
it.
|
|
| Garbage collection is largely no issue when using the Owner concept in
TComponent,
using
| In C++:
|
| TStringList strlist;
|
| strlist = new TStringList;
|
| How is that shorter ?
|
| okay but its still redundant. Why does the compiler need to have it
| spelt out twice? Why cant the compiler deduce that as the pointer is
| declared as TStringlist therefore it creates a
-- Class Contracts
I like the 'require/ensure' aproach.
It makes the code more robust and more debuggable, IMHO
I think the checks you can do there are to limited. I also wonder what
will happen if a require isn't met. Personally I don't want exeption in my
released app.
No, these are
If you want to modernize the language you can take the current fpc code
and extend it yourself. If the extension is clear and we agree on it it
can eventually be put in the main fpc release.
Discussions are useful.
Before one starts coding away, a consensus would be nice to have.
I would not
Op Thu, 2 Jun 2005, schreef Jamie McCracken:
So am I. My point is not changing the language so that it incurs
additional maintenance or is harder to read or harder to fix bugs or
make bugs more likely. In fact its the complete opposite.
My point is to to reduce or remove *redundant* syntax
At 19:36 2-6-2005, you wrote:
Hello,
I'm writting a custom preprocessor and I would like that the line number
information maps to the original file. An example (not real, only an
example):
...original.pas...
21 procedure AddFive(var a, b: Integer);
22 begin
23 a := ++b;
24 end;
Daniël Mantione wrote:
Op Thu, 2 Jun 2005, schreef Jamie McCracken:
Daniël Mantione wrote:
Ok! We'll be happy to assist anyone doing interresting developments with
Free Pascal. Keep in mind though that implementing ideas can take a lot
more time that thinking out ideas.
The Free Pascal
Op Thu, 2 Jun 2005, schreef Jamie McCracken:
Daniël Mantione wrote:
Op Thu, 2 Jun 2005, schreef Jamie McCracken:
Daniël Mantione wrote:
Ok! We'll be happy to assist anyone doing interresting developments with
Free Pascal. Keep in mind though that implementing ideas can take a
Well I will typically spend about 25% of my development time with
forward declarations, doing loads of try finaly blocks to free memory
and other things instead of implementing my application.
jamie.
Well, you are quite a machine. If you say so, sure it's so, but that's not
the problem.
Date sent: Thu, 2 Jun 2005 10:30:25 +0200
From: [EMAIL PROTECTED]
To: fpc-devel@lists.freepascal.org
Subject:[fpc-devel] Range check error in cthreads (make debug)
Send reply to: FPC developers' list
the C-style operators += etc. should better be written as +:= since C has =
as assignment, Pascal has := as assignment symbol
:= means assign to, += means add to etc., I cannot find any
inconsistency here.
Also, += and such were created to make it easier to convert C code. If
you
What makes python interesting are the many classes it offers by default
to perform standard tasks, especially in the text treatment department;
regular expression stuff etc.
The same goes for most languages; Mostly it's not the language syntax
that determines the productivity factor; it's the
Jamie McCracken wrote:
I don't understand, why are these forward declarations so evil ?
More code bloat, more typing and they get in the way. They dont give me
anything useful in return.
Please show me a piece of code where they are in the way. Code bloat?
They don't cost anything
What matters is designing und understanding the code, not writing
it. I spend less than 10% of my time at work in actually _writing_
code, so even if someone can type in his/her code twice as fast, the
maximum (s)he would gain would be five percent in overall performance.
you are missing
Well pascal in the only mainstream langugae that does that - I dont
see the pont and it aint magic.
Jamie, now I KNOW I don't understand where you're coming from
Pascal? Mainstream? ;)
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Forward declarations are redundant - they exist purely for the benefit
of the compiler.
I agree. I hate prototyping. That's why you use top-down design.
What's wrong with that?
Begin..End is redundant - you have to indent them to make em readable
anyways.
Not at all; I certainly
68 matches
Mail list logo