In which language is TC written??

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

krushna
Junior Member
Junior Member
Posts: 19
Joined: 2010-06-10, 09:27 UTC
Location: India

In which language is TC written??

Post by *krushna »

Sir,

If u have written the program code for TC in C++,if possible
rewrite the entire code in C#4 since it's the latest version having
more features than c++ and TC will be much stable and bug free.

And which version of Visual studio did u used??


Krushna
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

TC is written in Delphi, sorry.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

TC is written using Delphi 2.0.

Anyway, changing language from one to another requires a lot of hard work.

And, it is a bad idea for file manager to use C# or any other managed code.
VSB
Member
Member
Posts: 136
Joined: 2006-12-12, 12:02 UTC
Location: Russia

Post by *VSB »

MVV wrote: And, it is a bad idea for file manager to use C# or any other managed code.
Why?
User avatar
Flint
Power Member
Power Member
Posts: 3487
Joined: 2003-10-27, 09:25 UTC
Location: Antalya, Turkey
Contact:

Post by *Flint »

VSB wrote:Why?
Because efficiency and performance are not among primary concerns in these languages.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 10.52 / Win10 x64
Egh
Junior Member
Junior Member
Posts: 41
Joined: 2009-02-06, 20:37 UTC

Post by *Egh »

MVV wrote:TC is written using Delphi 2.0.
That's a lie :) NOT 2.0, as Unicode support was added MUCH-MUCH later.

I reckon 7.0 was compiled with something like 2009 minimum. Otherwise it wouldn't use VCL with unicode.
theosdikaios
Senior Member
Senior Member
Posts: 228
Joined: 2006-02-04, 13:02 UTC

Post by *theosdikaios »

2Egh
Maybe you're wrong. TC uses handmade ;) unicode.
"Since there are many things which have never happened and never will happen,
and which nevertheless are clearly conceivable, and imply no contradiction,
how can one say they are absolutely impossible?" Leibniz
Egh
Junior Member
Junior Member
Posts: 41
Joined: 2009-02-06, 20:37 UTC

Post by *Egh »

theosdikaios wrote:2Egh
Maybe you're wrong. TC uses handmade ;) unicode.
Oh shiiiiiii :)))) that looks like trouble then :P

As for D2 it is still insane though. You may have no need in VCL unicode support natively and stuff, however the golden standard of Delphi before 2009 (i.e. Embarcadero era) was Delphi7, not Delphi2. I started my career of a professional coder on Delphi5 and it was waaaaaaai back in the past :)

Still I would recommend to use Delphi2010, it is pretty stable with all the updates, and majorly compatible with pre-unicode releases, actually.
theosdikaios
Senior Member
Senior Member
Posts: 228
Joined: 2006-02-04, 13:02 UTC

Post by *theosdikaios »

Have a look at here and here.
"Since there are many things which have never happened and never will happen,
and which nevertheless are clearly conceivable, and imply no contradiction,
how can one say they are absolutely impossible?" Leibniz
User avatar
Flint
Power Member
Power Member
Posts: 3487
Joined: 2003-10-27, 09:25 UTC
Location: Antalya, Turkey
Contact:

Post by *Flint »

And here.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 10.52 / Win10 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes, I've been using Delphi 2 with handmade Unicode support, but I'm currently porting to Lazarus/Free Pascal which has Unicode controls based on UTF-8. I have already ported all my Unicode controls to Lazarus, it was quite easy. Now I'm changing OLE2 code to Lazarus (Delphi 2 works quite differently here).
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

It is interesting to know size of TOTALCMD.exe in Lazarus where empty form takes 1.4 MB... :)
User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom »

Lazarus_Faq#Why_are_the_generated_binaries_so_big.3F
It's also important to note that the hello world lazarus software already includes a huge amount of features. It includes:
  • XML handling library
  • Image handling library for png, xpm, bmp and ico files
  • Almost all widgets from the Lazarus Component Library
  • All of the Free Pascal Runtime Library
So it's very big, but it already includes almost everything a real world non-trivial app will need.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Well, let's hope its size really won't grow if additional components are added.

BTW I prefer clever linkers that remove unused stuff from output executable, especially if such thing can reduce file size from 1.4 MB to 0.4 MB...

I really don't understand how hello world application can use XML, image libraries and all untouched functions from runtime library. Also we don't need unused wigets and their methods since forms are not in resource section so can't be modified by resource editor in contrast to Delphi where we can easilly add controls to forms and call their unused methods (just 'cause that are included into executable code by linker even when unused in original executable).

Just found an interesting graph under specified link... They say that code generated by C++ compiler is larger than code generated by their compiler for complex projects... :lol: Yes, their hello world app's size grows only when code and resources are added while normal C++ application's code grows when new methods and functions are used too. But C++ executable starts with much smaller size, and good C++ compiler will never include same method twice, so for complex projects it will include a lot of functions almost like Lazarus app (BTW less than Lazarus anyway since it is almost impossible to use all methods of all components) so C++ executable will have smaller size anyway. Also good C++ compilers have great optimizators that reduces size significantly. :)
Egh
Junior Member
Junior Member
Posts: 41
Joined: 2009-02-06, 20:37 UTC

Post by *Egh »

However, 1.4MB is not much of the concern here. In fact, 2010 unicode Delphi applications are typically around 1mb in size. My latest program about 800-900 lines of code (and only default linked units) was 1mb in size.

UTF8 in my opinion is not a good choice for components etc. Much better solution is two-byte everywhere, pretty much what Embarcadero uses since 2009. There "string" may be both normal ANSI and Unicode, depending on the switch, and that makes conversion almost transparent.
Post Reply