Why developing a VB6 compiler is a difficult thing to do?
One thing I have never figured out is, with so many open source compilers to learn from, why almost all of us think that developing a VB6 compiler is a difficult thing to do? So much so that there is hardly a second person in this forum who can develop the VB6 compiler other than WaynePhillipsEA(twinBasic).
Re: Why developing a VB6 compiler is a difficult thing to do?
It is true that TB presence and imminent v1 release is demotivating most of the efforts in this space.
Olaf is working on his closed source compiler as an add-on for RC6 which is understandable.
I am willing to invest couple of months into an interpreter front-end which would produce p-code but no one besides The trick here seems qualified to implement the virtual machine which to interpret such bytecode output incl. rudimentary linker for bundling final binaries.
Forms subsystem reimplementation is out of the question -- this arcane and abysmall ActiveX monster better be left to die quietly abandoned. Apparently TB has been delayed mostly because of the numerous hidden complexity of ActiveX controls/containers interactions.
Obviously RC6 (and similar) based UI, with tooling and form editor is the most viable cross-platform alternative. Another one is HTML and Electron/Tauri like desktop apps but all these UI subsystems have to be possible, not one being chosen lone winner.
Re: Why developing a VB6 compiler is a difficult thing to do?
re: a compiler, I cannot comment.
I agree that the form subsystem has to die, eventually. The trouble is, it is one of the most useful parts of VB6 and we should not forget how amazing it is, even if it is built on arcane technology. It made VB6 into what it eventually became. The combination of the language and the IDE is the winning package, we should strive to recreate that winning combination.
An RC Form editor would be an essential item to allow us replace the native VB6 forms in an otherwise RC application. I would already have converted my complex VB6 forms into RC equivalents if there had only been such a form designer extant already. I can use Photoshop for non-traditional form design but a complex standard form really needs a GUI designer.
Don't forget RADBasic. It seems to be making some progress in the background (let's not get in a rant about RB, just worth noting)
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Why developing a VB6 compiler is a difficult thing to do?
VB6 was abandoned 22 years ago... No idea why nobody made a serious effort sooner; back in the day there was a deeper pool of VB6 people who were qualified to build a compiler and a much larger market.
But it never happened and it's a miracle we even have the one serious effort now. I'm very skeptical tB has discouraged efforts on unannounced compilers- since we know RB and whatever Olaf is doing were proceeding at a glacial pace since before tB. The former doesn't even seem viable. Firehacker mentioned he had been working on reverse engineering his way to a perfect replicate matching every internal implementation detail but no updates on that in many years... Shame because he's absolutely capable of it and as appeared to have made some substantial progress.
Like it or not, the Forms engine and ActiveX/COM is an absolute fundamental part of anything looking to replace VB6. If you make the entire UI system incompatible, and with it presumably the major use case of 64bit OCXs, I just have no idea who the market is supposed to be... You're not going to get off the ground without the userbase looking for full compatibility. Those ok with a complete redesign and reimplementation of the entire UI as a minimum commitment just to run have likely moved to .NET or one of the very similar but not fully compatible alternative.
It's just an essential first step to get an active development community who can then start venturing out to cross platform and bring attention from new audiences. Though if course it's still a big challenge given that even beyond the UI, VB6 is extremely entwined with the Windows API, with so many programs relying on it for so much.
Olaf disagrees so I'm sure tB isn't discouraging him but wasn't his timeline like still another decade?
The time commitment is another reason it's so hard to get a new compatible compiler. Really need more than hobby level on that, and that's hard when you have a job.
Re: Why developing a VB6 compiler is a difficult thing to do?
. Net development technology base on com
I have seen several compilers developed with VB6.Of course, they have fewer functions, but it is not a problem to implement basic compilation into exe, generate DLL or console program, and form program.
Based on Win32 controls, form programming is nothing more than calling the API.
The first is the compiler, which needs to generate a PE file. And then you know a lot. Assembly code, to call the API, as well as loops and other algorithms to compile it into assembly code.
The compiler is the hard part, and the other part is how to parse the code, which is the first step to implement.Bill Gates parse basic code in a month.
It is not difficult to realize the recognition of simple sentences, mainly because you have to realize a lot of complex sentences, as well as various loops or grammars.If we specialize in the development of analytical tools for one year, three years or even 10 years, the technology will certainly get better and better.
Re: Why developing a VB6 compiler is a difficult thing to do?
Now the easiest thing to do is. For example, you use an existing compiler. Just like b4A developing Android apps, you can write VB code, then convert the code into Java code, and then use the existing javac compiler.
You can also write VB6 code and run it directly using the VBA SDK, which encrypts the code. Or convert the code to run in VB. Net.
In this way, you can also make Vb6 code have asynchronous, delegate extensions.The.net compiler comes with the system after installing the.net environment. It can also be used across platforms.
Vbs codes can also be converted to. This kind of script can get high-performance operation, which is similar to the performance of compiled program.V8.dll JavaScript This engine can be JIT compiled very fast.
You can also use scriptcontrol + VBS + JS to implement a simple script running tool. Implement code parsing and running. You can even implement virtual com objects in memory.
Implement it in your script parser. Dynamically invoke standard DLL or com objects, OCX controls.You can also dynamically load thousands of.net class libraries. Dynamically create a thumbs-up form or winform control.
???
Last edited by xiaoyao; Oct 7th, 2024 at 04:52 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
Python is the number of developer users. No, it's already the most popular in the world. The VB is now ranked 25th.
Microsoft ditched VB6 27 years ago and VB. Net in 2020.The number of users is getting smaller.The best programming languages in the world are VC + +, Java, JavaScript, Python, and Delphi,vb
Now there's go, rust, swift, so there's little future in reimplementing the VB6 syntax.
At that time, like automobile manufacturers, there might be 30 automobile manufacturers in the world. Although Mercedes-Benz, BMW, Toyota and Tesla are doing very well.
Although Apple's mobile phone accounts for more than 80% of the world's largest sales profit. Its market share is also 50%.But Samsung's mobile phone sales are the largest in the world. Global profit distribution may account for about 15%.
The remaining 5% of the profit is made by China's Xiaomi mobile phone, Huawei mobile phone, vivo and oppo. Fierce competition.
It also proves that it can survive with only 5% of the market.
If you develop a compiler or a new programming IDE, there is enough profit to keep your company afloat. If you are a public company or attracting venture capital, prepare to go public.
Even if there is no profit, it is worth doing. It can add tens of billions of dollars to your company's stock.
Attract more users or occupy more markets. Or just use it as a manifestation of a company's technology.Just like the f # language, its users are almost negligible, and no one uses it at all. But Microsoft has been developing him for 20 years. He abandoned the VB. Net, but hoped to stick to the cross-platform language for another 10 or 20 years.
Continuous upgrading and optimization also requires tens of billions of dollars.
It may not be able to make a dollar of profit at all.
Last edited by xiaoyao; Oct 7th, 2024 at 05:24 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
If Microsoft promises that the VB6 compiler will be free to use. Or like a VBA SDK development environment in Excel, it can be used by everyone for free without re-authorization.
If Microsoft releases the source code for the VBS parsing engine.
Then we can re-develop vb7, VB8 IDE, the interface is like sharpdevelop, but it still uses the 1998 VB6 compiler.
For the same VB6 project, we can actually use the twbasic compiler, the freebasic compiler, the FBC. Exe, and the radbasic compiler.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by xiaoyao
If Microsoft promises that the VB6 compiler will be free to use. Or like a VBA SDK development environment in Excel, it can be used by everyone for free without re-authorization.
If Microsoft releases the source code for the VBS parsing engine.
Then we can re-develop vb7, VB8 IDE, the interface is like sharpdevelop, but it still uses the 1998 VB6 compiler.
For the same VB6 project, we can actually use the twbasic compiler, the freebasic compiler, the FBC. Exe, and the radbasic compiler.
Unless your program is Hello World you're not using the radbasic compiler for another decade or two
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by fafalone
Well, if I ever hit the lottery, tB will have all the funding it needs... let Wayne hire another developer or two to really get it moving
One can dream...
I thought you joined Wayne's Twinbasic company.
Twinbasic is a web version of IDE, so VB lovers can't join GITHUB for joint development.
Suppose TWINBASIC is based on the hard disk version like vb6.exe.
All the menu functions in it can be realized by VB6 source code. For example, reference COM DLL,OCX window, or directly import source code package (tab control, textw unicode text box, pdf file display control, etc.).
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by yereverluvinuncleber
re: a compiler, I cannot comment.
I agree that the form subsystem has to die, eventually. The trouble is, it is one of the most useful parts of VB6 and we should not forget how amazing it is, even if it is built on arcane technology. It made VB6 into what it eventually became. The combination of the language and the IDE is the winning package, we should strive to recreate that winning combination.
An RC Form editor would be an essential item to allow us replace the native VB6 forms in an otherwise RC application. I would already have converted my complex VB6 forms into RC equivalents if there had only been such a form designer extant already. I can use Photoshop for non-traditional form design but a complex standard form really needs a GUI designer.
Don't forget RADBasic. It seems to be making some progress in the background (let's not get in a rant about RB, just worth noting)
It's just a better idea to use DIALOG RCs than native forms. but a system of forms with both designer and code combined is just what makes VB6 truly VB6.
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by SearchingDataOnly
One thing I have never figured out is, with so many open source compilers to learn from, why almost all of us think that developing a VB6 compiler is a difficult thing to do? So much so that there is hardly a second person in this forum who can develop the VB6 compiler other than WaynePhillipsEA(twinBasic).
I tried doing that for an embedded system(microcontrollers), VB6 is harder and more complicated than you think. The QBASIC style of Sub/End Sub or If/End If is more complex than writing an interpreter to if{}, there are also stuff like AddressOf and Private Declare that pretty much melts your brain. same goes to ActiveX, I would already not be able to implement it to non-Windows platforms like my microcontroller, but even for Windows, ActiveX acts weird. it sometimes doesnt even register properly. sometimes launches at IE out of nowhere. and sometimes crashes out of nowhere. It is painful
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by fafalone
Unless your program is Hello World you're not using the radbasic compiler for another decade or two
only way will be the source code l#aks. well they exposed NT 5.1(XP) source codes to github. we may look there for VB6 runtime dlls etc. MS will likely not give any part of classic VB because for example, VBS was just made to compete with JS and also only work on Windows. even if nobody uses it anymore MS will likely not give. lets just look to the github for now
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by gaouser
I tried doing that for an embedded system(microcontrollers), VB6 is harder and more complicated than you think. The QBASIC style of Sub/End Sub or If/End If is more complex than writing an interpreter to if{}, there are also stuff like AddressOf and Private Declare that pretty much melts your brain. same goes to ActiveX, I would already not be able to implement it to non-Windows platforms like my microcontroller, but even for Windows, ActiveX acts weird. it sometimes doesnt even register properly. sometimes launches at IE out of nowhere. and sometimes crashes out of nowhere. It is painful
you can try quick js for embedded system(microcontrollers)
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by xiaoyao
I thought you joined Wayne's Twinbasic company.
Twinbasic is a web version of IDE, so VB lovers can't join GITHUB for joint development.
Suppose TWINBASIC is based on the hard disk version like vb6.exe.
All the menu functions in it can be realized by VB6 source code. For example, reference COM DLL,OCX window, or directly import source code package (tab control, textw unicode text box, pdf file display control, etc.).
I'm a moderator for the Discord and GitHub but outrageously, that's just a volunteer position
Just a big fan of the project otherwise; doing the same thing I do for VB6, helping people with their questions and publishing open source demos of things I think are cool. Also wrote a lot of the Wiki but all community members are welcome to contribute to helping write documentation, and i absolutely wish more would
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by gaouser
only way will be the source code l#aks. well they exposed NT 5.1(XP) source codes to github. we may look there for VB6 runtime dlls etc. MS will likely not give any part of classic VB because for example, VBS was just made to compete with JS and also only work on Windows. even if nobody uses it anymore MS will likely not give. lets just look to the github for now
I can't even begin to describe how heartbreaking it was to go through that giant source leak zip and find that not even a single VB6 thing was included. XP leaked and msvbvm60 comes with it, so you'd think at least that...
Can't believe *Windows itself* has leaked, but never any version of VB or VBA or any component thereof
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by fafalone
I can't even begin to describe how heartbreaking it was to go through that giant source leak zip and find that not even a single VB6 thing was included. XP leaked and msvbvm60 comes with it, so you'd think at least that...
Can't believe *Windows itself* has leaked, but never any version of VB or VBA or any component thereof
Perhaps Microsoft completed the design of VB6 in 1998 and threw it away. VB.NET was abandoned in 2020, and VBS will soon end his life. But he just doesn't want to disclose his source code, perhaps because he is afraid that there are loopholes in it that will endanger the safety of users of XP, Win 7 and Win 10? Why open the source code of chakracore JS? It's just like V8 JS, although the performance is less than 50%.
The freebasic compiler is open source, and many free ides based on freebasic are becoming more and more powerful, which exceeds many functions of VB6, but it does not provide the function of parsing and execution, and can only be compiled into EXE and dll, so Twinbasic has an opportunity. Provide 64-bit version similar to VBA SDK, cross-platform version of VBS and VB6 parsing, LINUX, Android system, etc.
Last edited by xiaoyao; Oct 8th, 2024 at 09:58 AM.
Re: Why developing a VB6 compiler is a difficult thing to do?
Maybe a lightweight VB6 code parser can be implemented.
For example: sub,function,for next,while, WINDOWS api declaration.
You can cancel keywords such as with, private,public.
Version 2, adding COM object support and variant type support. This part of the workload is very heavy. This is why TWINBASIC has been unable to release the official version for many years.
Also, every method call of COM is actually converted into DispCallFunc or invoke? Eventually, you need to use variants.
Maybe being a COMpiler that supports com objects can completely not support variant types?
In the third version, the win32 api is packaged into forms, text boxes, LISTVIEW and other controls to make objects like vb6 form1.
This is an open source interpretation of what the MSVBVM60 library does. Such library is used in VB6 applications as a base-library, where most VB functions are implemented.
How to contribute
In order to contribute, please clone this repo, build it, and after you can run the example VB6 project, you can start adding new functionality. To do so, try to add a test in the dummy VB6 project and check if that doesn't work against this library. Normally these kind of errors are related to missing exported functions, so, it's easy to check what the original library did (using the methods described before). After the functionality is implemented, create a pull request.
Status of the library
This library IS NOT A FULL replacement of the original library. So, don't expect to be a drop-in replacement. Currently, a small subset of the original library are implemented. Most notable ones:
Creation of ActiveX objects (CreateObject)
Access to the VBA object (Shell, Iif, etc.)
DLL function calls
MsgBox
InputBox
Re: Why developing a VB6 compiler is a difficult thing to do?
It would be nice to see a new opensource vb6, as I do miss VB6 I used to tons of examples in it, but since support stopped that was the end of vb6 for me and moved onto other opensource compilers, I am currently using C and have started to get into compiler writing and VMS, But what I find it hard to ask questions as there not many forums that are dedicated to compiler topics. it would be cool if VB forums had a selection for compiler and interpreters’ development were people can ask questions and post projects that may help a lot of people, it also be cool as we chould all get together and maybe come to making a VB6 compiler. I do truly hope one day my good old VB6 will return I still miss using it and had so much enjoyment over the years. nothing comes even close to classic VB6
Re: Why developing a VB6 compiler is a difficult thing to do?
If Not FileExists(ls_WinPath + "odbcjt32.dll") Then
MessageBox('alert','path:'+ls_WinPath+'can't find file!')
Return False
End if
powerbuilder,The syntax of this programming language is also very close to Vb6.
Freebasic, which is an open source compiler, has a very similar syntax to VB6. His shortcoming is that the parser is not mature. There is no independently exposed parsing engine
FreeBASIC is a self-hosting compiler which makes use of the GNU binutils programming tools as backends and can produce console, graphical/GUI executables, dynamic and static libraries. FreeBASIC fully supports the use of C libraries and has partial C++ library support. This lets programmers use and create libraries for C and many other languages. It supports a C style preprocessor, capable of multiline macros, conditional compiling and file inclusion.
FreeBASIC has been rated close in speed with mainstream tools, such as GCC. http://freebasic.net
Last edited by xiaoyao; Oct 8th, 2024 at 01:05 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by wqweto
It is true that TB presence and imminent v1 release is demotivating most of the efforts in this space.
TB is fantastic. But my needs have changed significantly. Cross-platform became my most important requirement. I need a cross-platform open-source compiler to compile my scripting language. It seems like I won't be able to get a compiler like this for 5 years. This frustrates me.
Originally Posted by wqweto
Olaf is working on his closed source compiler as an add-on for RC6 which is understandable.
Olaf's world is closed, we don't know what he's doing, maybe one day he'll suddenly surprise everyone.
Originally Posted by wqweto
I am willing to invest couple of months into an interpreter front-end which would produce p-code but no one besides The trick here seems qualified to implement the virtual machine which to interpret such bytecode output incl. rudimentary linker for bundling final binaries.
These seemed like things I would have to face in the future, and I found myself unable to get around these daunting obstacles.
Originally Posted by wqweto
Forms subsystem reimplementation is out of the question -- this arcane and abysmall ActiveX monster better be left to die quietly abandoned. Apparently TB has been delayed mostly because of the numerous hidden complexity of ActiveX controls/containers interactions.
Obviously RC6 (and similar) based UI, with tooling and form editor is the most viable cross-platform alternative. Another one is HTML and Electron/Tauri like desktop apps but all these UI subsystems have to be possible, not one being chosen lone winner.
If I can successfully develop my own compiler and successfully publish my scripting language IDE, then maybe I can bring something very interesting to the form processing.
Last edited by SearchingDataOnly; Oct 8th, 2024 at 01:24 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by xiaoyao
Perhaps Microsoft completed the design of VB6 in 1998 and threw it away.
I've long suspected that this is the case, as surprising it might be to some people. After all, WHY would a software company with abundant storage EVER discard anything? Still, I suspect that IS what happened, or at least that it was archived into some storage that isn't so leakable (such as a CD-ROM, or a bunch of 3.5" floppies sitting in a filing cabinet somewhere). The utter silence on the subject, along with the source never showing in a leak, is what makes me think they really did bury it.
VB.NET was abandoned in 2020
Nothing about VB.NET has been abandoned. If you are thinking about Framework, it isn't abandoned, it just has been solidified. Core (or whatever you choose to call the new naming convention) is ongoing, including VB.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by The trick
I think the main reason is the money. The VB6 community is quite small related to others.
I think this is right. VB6 is archaic in one way that people don't talk about much: It cost money. These days, there isn't much reason to buy a development environment when so many are available for free, at least for hobbyists and small groups. VB6 was never free, and even cost a fair amount of money in its day.
Every development environment has some economic angle. Either you are doing things as a labor of love, or you are doing them with an expectation of gain of some sort. Once software has been developed, the cost to create each individual unit is pennies. The cost is all in the development and support, and can be quite high. How many sales will you make? If it's only 1,000, EVER, then the cost per unit is going to need to be VERY high, even if you abandon maintenance. If you will sell millions of copies a year, then the cost can be pretty low.
For VB6, the expectation was largely to sell one copy to each person, then sell them all VB7, VB8, and so on as they came out. The pool didn't have to be all that big for that strategy to work out. Far better is to sell subscriptions, which is what MS is doing more and more. In that way, you don't have to keep coming up with new versions, as your income arrives whether you make new sales or not.
Any new IDE will have a small number of users, so a subscription model makes the most economic sense, and then you have to compete with the free IDE environments that are available. It doesn't surprise me that there haven't been a whole lot of people who want to try that.
Re: Why developing a VB6 compiler is a difficult thing to do?
Only part of the compiler and IDE functions are open source. Only in this way can twinbasic have more users and longer life.
What if one day you could write your own compiler in twinbasic?
The mono team was cut by Novell (or Attachmate, its parent company), so Miguel and Nat Friedman founded Xamarin to continue the Mono project and focus on the mobile development experience. They hired back all of Ximian's personnel, including Mikayla. After the development of Xamarin Studio for Mac, Xamarin was acquired by Microsoft in 2016, the product was renamed Visual Studio for Mac.
The acquisition also makes it easier for Xamarin members to communicate with Microsoft colleagues who have been communicating before. Working with smart engineers and great people is rewarding in itself. We're doing things we couldn't do before. "Open source has taken root inside Microsoft." "Attitudes have changed a lot," Mikayla said. For example, on GitHub, people can see a lot of C # development progress; we publish language design meeting minutes on the community, where developers can submit their problems and ideas and discuss them with team members. This is a huge change.
Last edited by xiaoyao; Oct 8th, 2024 at 06:49 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
Roslyn was born with an open mind: to share the inner workings of the C # language for the world to use programmatically. That in itself was a bold claim in what was still a largely closed culture: Would we share this intellectual property for free? Will we empower tool makers who are not us to better compete with us?
Interestingly, the real advantage of open source is not access to so much source code (though it is), but its transparency and the communication that results from it. When users contribute to the product from the outside, they actually become a member of the team, and they will work as hard as Microsoft employees to improve the quality of the product.
The open source compiler Roslyn's vision was ambitious and technically challenging, and it took us five years to realize it.It took Microsoft thousands of engineers five years to do it.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by cbbobd
So many details.
Just writing very simple Fortran, C or other compiler is no easy task.
Tiny C compiler, the smallest C language compiler on GNU/Linux systems. Tiny C compiler is not only a C language compiler in the conventional sense, but also enables users to use C language as a scripting language for fast scripting programming.
Features
SMALL! You can compile and execute C code everywhere, for example on rescue disks (about 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker).
FAST! tcc generates x86 code. No byte code overhead. Compile, assemble and link several times faster than GCC.
UNLIMITED! Any C dynamic library can be used directly. TCC is heading torward full ISOC99 compliance. TCC can of course compile itself.
SAFE! tcc includes an optional memory and bound checker. Bound checked code can be mixed freely with standard code.
Compile and execute C source directly. No linking or assembly necessary. Full C preprocessor and GNU-like assembler included.
C script supported : just add '#!/usr/local/bin/tcc -run' at the first line of your C source, and execute it directly from the command line.
With libtcc, you can use TCC as a backend for dynamic code generation.
The Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (IOCCC) in 2002.
My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ';', '{', '}' and space characters.
Last edited by xiaoyao; Oct 8th, 2024 at 06:58 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
If someone tells you that a programmer wrote a soft base station in only 10 months, you must think it is impossible, because this kind of big project is the workload of hundreds of people, but also an elite team, how can it be completed by one person? But there are always some geniuses in the world, who stand at a height beyond the reach of ordinary people and can achieve what ordinary people need to spend years or even a lifetime to achieve in a short time on their own. Fabrice Bellard, a French programmer, is one of them.
His technology alone is equivalent to that of 100 developers.
from:https://segmentfault.com/a/1190000040280535?sort=newest
Bellard made his main project open source, which meant that others could freely download the programs he developed and make changes to the source code. Bellard did this for a very simple reason: he never cared about fame or money, and it was his pleasure to be able to develop interesting and practical programs. When asked why the project involved so many areas, Bellard answered like this: "I often get bored doing the same thing all the time, so I change directions every now and then." Bellard is willing to share his achievements with everyone in the world and hopes to help them.
Last edited by xiaoyao; Oct 8th, 2024 at 07:24 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
JetBrains, kotlin, their company developed a lot of programming IDE, these founders are also Russian, but unfortunately they all ran away. For example, Huawei's 3G technology was developed by a Russian for three years or how long? Eating in a country like Russia is a problem, so he can't realize his dream. To sum up. Money is not everything, no money is absolutely impossible. One wants to develop a VB compiler, unless one is a genius. Like Bill Gates, Wayne. If it had 10 million dollars and hired 100 developers, twbasic might have been released three years ago.
Huawei was founded in 1987 and started as a sales agent for switches. Then it began to develop switches independently. But its real rise was in 1999. This year, Huawei ushered in the first turning point in its development history. In 1999, Huawei opened a mathematics research Institute in Russia. One of the Russian IT engineers developed the core algorithm for 2G to 3G mobile network conversion. This algorithm is the famous SingleRAN. He can make 2/3/4G devices integrated, which greatly reduces the cost of operators. It is with this algorithm that Huawei has led the whole era and won a large number of orders in Europe.
Developing compilers or programming ide to make a profit from them, at 1980-2000?
At that time, there was a compiler or a program to parse the VB code.
Ibm and even apple will give you tens of millions of dollars in return. Order Contract
Last edited by xiaoyao; Oct 8th, 2024 at 07:45 PM.
Re: Why developing a VB6 compiler is a difficult thing to do?
[QUOTE=xiaoyao;5657424]
My goal was to write the smallest C compiler which is able to compile itself.
I will guess that statement alone is enough to confuse many.
Takes me back to old days.
Teacher would load your deck of cards (Fortran compiler) and then stick the whole thing in a second time.
I was what? He said your program has to compile itself so if you did any shortcuts it will fail" (CDC-6500 I loved that machine )
Re: Why developing a VB6 compiler is a difficult thing to do?
You need a (big) team to do a "VB7" fully (really fully) compatible with any VB6 project if you want to have a confident and trustable product.
A Team needs (a lot of) money.
To get money you need to sell your product and since the market is (very) limited it will be (very) expensive in a world where you have VS for free since M$ has many others way to get money.
So mainly it's not a matter of difficulty, it's just money. And at the end if you should break compatibility (like TB does) so the product will not be really a VB7, would be another thing. And why go to another thing paying money and learning new tricks if once again you have VS for free.
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by fafalone
I can't even begin to describe how heartbreaking it was to go through that giant source leak zip and find that not even a single VB6 thing was included. XP leaked and msvbvm60 comes with it, so you'd think at least that...
Can't believe *Windows itself* has leaked, but never any version of VB or VBA or any component thereof
they even leaked damn MSPaint code in literal MFC(my reverse engineering was correct, it was made in MFC). BUT NOT VB?
VBForums is made with VBulletin4, Fun Fact their first 2 letters are same.
Gaouser is a weird name choice
I love VB6 and NX 8.5 and CorelDRAW and C++ and HTML4.01 and obsolote stuff and retrocomputing!
I custom ROM my phones
Using Win32 API is easier in VB6 than VB.NET
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by yereverluvinuncleber
re: a compiler, I cannot comment.
I agree that the form subsystem has to die, eventually. The trouble is, it is one of the most useful parts of VB6 and we should not forget how amazing it is, even if it is built on arcane technology. It made VB6 into what it eventually became. The combination of the language and the IDE is the winning package, we should strive to recreate that winning combination.
While many people believe that the form subsystem must eventually die, HTML doesn't seem to be the best replacement for the form subsystem. It should also be around for a long time until the best replacement is found.
Originally Posted by yereverluvinuncleber
An RC Form editor would be an essential item to allow us replace the native VB6 forms in an otherwise RC application. I would already have converted my complex VB6 forms into RC equivalents if there had only been such a form designer extant already. I can use Photoshop for non-traditional form design but a complex standard form really needs a GUI designer.
When my cross-platform scripting language IDE is complete, the RC form editor will become a reality, but it may take a few years.
If I release the Windows-based RC form editor now, I won't have time for anything else. It seems that everyone who is trying to develop a completely new VB6-IDE is doing all the work alone.
Re: Why developing a VB6 compiler is a difficult thing to do?
Originally Posted by fafalone
Like it or not, the Forms engine and ActiveX/COM is an absolute fundamental part of anything looking to replace VB6. If you make the entire UI system incompatible, and with it presumably the major use case of 64bit OCXs, I just have no idea who the market is supposed to be... You're not going to get off the ground without the userbase looking for full compatibility. Those ok with a complete redesign and reimplementation of the entire UI as a minimum commitment just to run have likely moved to .NET or one of the very similar but not fully compatible alternative.
It's just an essential first step to get an active development community who can then start venturing out to cross platform and bring attention from new audiences. Though if course it's still a big challenge given that even beyond the UI, VB6 is extremely entwined with the Windows API, with so many programs relying on it for so much.
Olaf disagrees so I'm sure tB isn't discouraging him but wasn't his timeline like still another decade?
The time commitment is another reason it's so hard to get a new compatible compiler. Really need more than hobby level on that, and that's hard when you have a job.
It is very valuable for tB to provide a VB6 compatible form engine, otherwise people would just think of it as another FreeBasic. But it's very strange when tB offers Report-Designer at an early stage when time is of the essence, because there are so many things that are higher priority than Report-Designer.
Open & open-source is the only way for a new programming language to survive and thrive. Anything that is closed source is not promising, including RC6.
The original version of JS was very rough, but it was open, so programmers from all over the world came together to raise this original ugly duckling into a white swan.
As Olaf said, the best alternative to VB6 on Windows is VB6, so another huge potential value of tB should be cross-platform. That's why I spent 16 months completely replacing my first version of the Windows component-based scripting IDE with an RC6 component-based IDE.
Initially, I was very excited about tB, and I wanted to use tB to develop a compiler for my scripting language. But when I needed a cross-platform, open-source compiler, I knew that I couldn't rely on anyone, I had to rely on myself.