Yes. C#/.Net is well known to have started out as a Java clone. It has since diverged though. Java as far as I know runs on a VM while .Net applications execute as native code.
Printable View
Is the .net default compile still IL that gets jitted to native code? Seem to remember an optional manual post processing compiler that could convert to full native code. It’s been a while details fuzzy
.Net typically compiles to IL but the CLR has never had a bytecode VM that executes IL. Under certain conditions like a Linux build, .Net will produce a self-contained native binary. There are also other tools and options that could coerce a full native code build on Windows.
IL was never made to run on a virtual machine like Java's bytecode, rather it allowed the JIT to be developed completely independently source languages like C# or VB.Net. You or I could write our own .Net language if we wanted without ever having to worry about if it would compile and execute because all we have to do is compile to IL. That is the purpose of IL, to decouple the programming language from the machine code that eventually gets executed by the processor.
Now click on the cross-platform language C# , f #, and Microsoft will continue to waste tens of billions of dollars in cost.
f#,from 2002,The development of this language led to the bankruptcy of VB6, the VB. Net.
It may have wasted tens of billions of research and development costs.
Perhaps Microsoft's idea is to kill MATLAB, a huge piece of high-tech software. Use the f # to beat him.
I am an ordinary amateur individual developer, I understand this truth, do not understand why Microsoft do not understand it?
I have always felt that using VB dinner or C shop to develop a complex formula calling method as a plug-in is enough to replace f#.
Perhaps 20 to 40% of scientific calculations can be done with VB. Net.
Some slightly simple point of the formula, I think with VBS,vba,python as a simple script VBS, VB. Net dynamic compilation can be, there is no need to install two GB of matelab runtime. After unzipping and installing, it may be more than 10 GB.
When you think about the programming languages used by businesses, names like Java, C, and C + + come to mind first. There will be absolutely no F , the open source functional programming language created and supported by Microsoft The lack of code, documentation and work is the biggest problem with F. When asked what was the most frustrating thing about learning F , respondents' highest responses were not having enough real-world code for learning (53%), not having a good tutorial/documentation (35%), and they didn't understand compiler errors (20%). Similarly, the top three saddest things about developing applications in F # are: reducing the complexity of refactoring tools (49%), having to use C # -centric tools (47%), and having trouble troubleshooting (21%).
The positive aspect of F # is that it has given a big boost to the new version of.NET (many things are optional for C # and http://VB.NET, but necessary for F , and the F # team has been following the CLR team to add those things), and C # has benefited from those things that were prepared for F.
This object is a bottomless pit ah, Microsoft needs to give him a lot of blood, but can not get any return.His only advantage is that he can make science and technology progress continuously.To put it simply, it is not for us ordinary people to use, it is only for those scientists or senior engineers of Microsoft's own company to use.
They can use other development languages, such as MATLAB, in order to save money, do not have to spend extra money to buy the software, They want to do it in dot net's own way.,Maybe the development cost is many times more than the cost of buying the software.
Microsoft explicitly prohibits employees from using ChatGPT, and all internal devices block ChatGPT websites.
gpt doesn't steal the code on your computer。If Microsoft is afraid that these codes of employees will develop on the Internet, it is better to prohibit employees from publishing codes on the Internet to seek help, which can only be solved within the company.
So where is your proof that it wastes billions of dollars?
F# was created around 2005, VB6 had a final release in 1998. Your numbers don't add up.
And then again it might not, MS are still a large company worth billions - perhaps this wasn't a waste after all.
Different languages can have different strengths - F# being a functional language lends itself to engineering and statistical work, features such as units of measure make it easier to avoid simple mistakes. Nothing stopping you doing the same in another language, but it might involve more code that is harder to read.
Why only 40%??? You could do 100% of scientific calculations in any language, including assembler. Why is F# suddenly the focus of your anger?
Bring back pascal/Delphi! You can specify the bounds of arrays as a type:
or:Code:TYPE SUIT = (CLUB, DIAMOND, HEART, SPADE);
VALUE = (ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING);
VAR CARD : ARRAY[SUIT] OF VALUE;
....
CARD[HEART] = KING;
I miss stuff like that in c/c++ ....Code:TYPE COORD = (-10..10);
BOOL = (0..1);
VAR MAT = ARRAY[COORD, COORD] OF BOOL;
...
MAT[-5, 7] = 1;
40% of the time it works EVERY time.
We need a Rockstar.Net.
I really like that language, though it isn't useful for more than some math types of things. The idea of writing source code to serve two purposes has a real appeal to me. Poetry that does something useful would be designing on two different levels.
Microsoft continues to develop C # and f # across platforms. Abandoned the VB. Net.
C #/F # Performance Comparison The best thing about pure math is what PerpetualCoder says, F # looks more like a math problem, so it will be easier for mathematicians to write. When I checked it out, it reminded me a lot of MATLAB.
If you're talking from a performance perspective nothing beats C. If you're talking from a library I believe in functional languages (F # and like), Fortan (yes it's not dead yet), Python has good math libraries.
Perhaps this market will eventually be replaced by python。
The f # has been in development for 22 years, and it seems that Microsoft takes it very seriously.
The code is simple and easy to understand, should be the most basic office workers, data analysts, financial personnel quickly, very simple can be called.
In fact, this is the best aspect of VB6, VBA, VBS, and python
Although F # is a modern programming language, the language design is far less elegant than Scala. F #'s standard library is incompatible with the.NET standard library, and F #'s algebraic data type (ADT) -based type system is incompatible with the.NET native class library style. The F # ecosystem is even weaker than Scala. In engineering practice, Scala has a large number of frameworks and third-party libraries for both object-oriented and functional programming.Not to mention that the Scala standard library itself blows up the F # standard library. I think Microsoft, under the leadership of Ballmer, who sold DVDs, was a bit obsessed with the understanding of technology, designed APIs that were bloated and stuck to backward compatibility. So the language designed by Microsoft is the same. It has not thought about how to integrate functional language into object-oriented language at all. It is simply compatible with OCaml syntax and adds a lot of irrelevant functions. By contrast, Martin Odersky has worked on Pizza, Generic Java, and has tried to implement functional programming in the JVM for many years. Finally, Scala abandoned the source code compatibility with Java, and finally smoothly integrated functional programming features with object-oriented.
Haxe is developed in OCaml, as was Rust originally, and F # is a Microsoft upgrade to OCaml that seamlessly calls C # and other.net resources (similar to Scala, which is a functional upgrade to Java). Given that the.net core can support Windows/Linux/Mac, it's a good prospect.)
Knowing so much, it is finally determined that this thing is not something that ordinary people can play at all. It is used by university professors and some high-end people. The same way you use a $5,000 iPhone.
Doomed not to have many users.
What the majority of users need is an Apple mobile phone of about $800 to $2000.
So Microsoft's development language is getting farther and farther away from the public.
The python could crush him with a slap.
Microsoft hates all simple programming languages. Including python, VB6, VB. Net,
But f # it is professionally calculated, so it will remain.I just don't know how many people buy vs development tools because they need this scientific and technological calculation.
In fact, if it's good enough, most universities or companies don't need to buy MATLAB, which must be a great invention.But he doesn't have the ability.
As I understand it, f # should not be developed exclusively as a programming language.The next step is to see if Microsoft can continue to develop for 20-30 years, maybe 5 years.
Take the price of mobile phones as an example. That is to say, for a product, we need high-end products with high prices and very cheap products.
In China, it is a cloud computing service company like Amazon cloud and Microsoft cloud. If Amazon's price is $2000 per year.
Some of the low-end prices in China are. Twenty dollars. For those college students who study in school, there are many companies and individuals who need huge traffic to start a business.
Cheap products and the products that sell the most. Free product. The most expensive products, in fact, these things need to be considered in a balanced way.For example, ms sqlserver also has a community version, the free version MSDE.He can't say he's stuck in the 2010 version forever. This is the difference between stopping updating and completely abandoning it.
python,It can also do scientific calculations. If he can still run in the Android phone. Or even desktop icons. It's like an app. If repackaged, it can even be compiled into apk.
Does not show windows Linux, Android, Apple. Py runs stably on all operating systems. Compile to exe, compile to apk.
In fact, he can do it. A simple language. Omnipotent. The only difference is whether he wants to do it.
https://www.b4x.com/android/forum/th...y.19332/#posts
b4a.ide,Android apps have been developed with VB syntax for more than 10 years.If Microsoft buys it and makes it cross-platform. This must be another great invention, which can attract more users to join Microsoft products.
I don't know how many people now use VB. Net or other Microsoft languages to develop Android apps.It must be a huge development tool.
Sometimes, like python, it only needs 100 MB of hard disk capacity, b4a, and the core function may also be about 20 MB. And twinbasic, he only has 30 megabytes.
Android app ,ios app,can be written with VB code, and cross-platform Java programs can be developed. These are all great inventions.
Of course, Microsoft certainly rejects such a small development tool.
He likes to use huge vs tools to accomplish everything. In the end, no one used them at all.
https://tieba.baidu.com/p/8582003868#/
https://learn.microsoft.com/en-us/xa.../xamarin-forms
It's very complicated to develop Android apps in VB. NeT, and it seems that someone has found a way to hack the configuration.
Microsoft has never been sincere about cross-platform app development.
Otherwise, he should provide a large number of various templates, even some relatively complete apps. For example, develop some small video apps like YouTube and Tik Tok.
You can download a large number of complete examples to get users started quickly.
Here is something I just came across based on something that showed up in my YouTube feed which is relevant to the discussion about how Microsoft thinks about programming languages.
Just for a bit of context, a small panic was started on Reddit because Microsoft apparently wants to rewrite some Office 365 services from C# to Rust. My feeling is that it scared some folks into thinking MS was going to abandon C#. A guy claiming to work for MS chimed in. There is no way for me to verify whether this guys is who he says he is but I can't imagine why someone would pretend to be an MS employee just to make a basic Reddit post so judge it as you see fit.
This is what he said:-
He responded with this post later in response to someone suggesting that MS is sending mixed messages by always boasting about improvements in .Net performance yet NOT writing their own tools in .Net.Quote:
Hey there!
I work at Microsoft. I can shed a bit of light here.
We use .NET for TONS of things. Absolutely tons of different products and services. I'm on the Office 365 side of the business, currently managing Deployment for all of the hundreds of services that roll out across the world... And we use .NET extensively.
I'm starting my new position managing a team that does routing next week. They have some things that are extremely performance critical. As others have pointed out, we're talking about supporting services and traffic literally across the planet. When it comes to optimizing, they will find ways to squeeze out what they can.
There are languages like C and C++ that get used for some extreme use cases like I mentioned. Reducing as much overhead as possible in certain situations even leads to .NET apps with unmanaged pieces included with them.
There's been a lot of hype around Rust, and for good reason. But it's a system language. It's not like Microsoft is about to go rewrite millions and millions of lines of code and toss out C# (for anyone getting nervous 😅). They're just being pragmatic and using an effective tool for the job.
Hope that offers some clarity.
I'm not trying to make any particular point here but I thought it gave some decent insight into how MS devs think about programming languages. This of course assumes you believe he is who he says he is which personally I do believe.Quote:
I think it's important to consider scale here.
We're talking about hundreds and hundreds of services spanning many teams tackling many different things. DotNet performance has been increasing at incredible rates. There is a ton of work put into that and many teams adopting patterns and practices to enable it.
But a programming language is just a tool. DotNet is incredible, but like all tools, there is no tool perfect for every job. There will always be scenarios where something might be a better fit, given the constraints or requirements.
I think the message is pretty clear, personally:
DotNet continues to get faster
MSFT is very invested in DotNet (it's the overwhelming majority of services using it. I don't have stats to back this, just anecdotal from supporting service owners)
MSFT is focused on delivering the best possible experience, which means we'll use appropriate tools in different situations.
Again, I think that there's a misrepresentation in this thread... Having some things in Rust (many of which are already not. C#) should hopefully not suggest to others that MSFT is just departing from C#. We're talking about a tiny fraction of what's in Office 365.
I hope that helps!
Here's the actual thread for reference:-
https://www.reddit.com/r/dotnet/comm...rosoft_career/
Here's another post from that same thread I found quite interesting. Again, it's from a guy claiming to be a former MS Dev that I can't verify so judge as you see fit:-
I find it interesting because he mentions some stats about development time that seem to be correlated with whether you're writing managed or unmanaged code. I don't know if it's true or just anecdotal but I do find it an interesting thing to ponder.Quote:
Former Microsoft dev..
There are tons of MSFT code written in c/c++/rust and similar unmanaged languages. Much of core apps (windows , office apps and even mobile ones) will be written in unmanaged languages because ..
Performance, especially on desktop/devices.
Microsoft can afford it ! (Read below)
The internal ballpark estimate is that it takes 10x the devs , 10x time to get any software written in unmanaged languages versus managed ones (c#).
So, internally c# is the language of choice of everything that would not run into performance issues when the load on the software runs into 100s of millions or even billions.
Heck a whole bunch of software is actually first developed in C# to see if it gets adopted and gets popular enough, before 10x the money is spent on developing it in c++/rust.
Lots and lots of internal apps (even cloud services ) within Microsoft is written in C#, sometimes usually for the first iteration. Unmanaged development is so expensive that very high level approvals and RoI studies have to be provided before any team is allowed to move away from C#.
C# , especially with .net core is at an amazing sweet spot and one should not hesitate to invest their time on it..
https://www.reddit.com/r/dotnet/comm...t=share_button
Maybe now it can only be forced to be transferred to C # development.
VB. Net, used as an aid in learning C# , It's like an upgrade project, a slow transition.
As a scripting tool, VB6 also develops some small functions.
The main problem is that because we have learned such a simple VB programming language, we are resistant to change and do not want to learn those complex languages.
If speed is not important, then C# is perfectly adequate.Where high performance is required, such as a virtual machine kernel, or VC + + development.There are some nuget packages that may be able to make some of the functions into VC + + DLLs to achieve the goal of high performance.
So far in 2020, F # has not yet become popular, but as Microsoft's only FP language, F # has a special position and can be paid attention to. Ecosystem. The F # development community is small and there is no library equivalent to Elixir If you want to develop a script in a Microsoft language, what should you use? *.bat command line, PowerShell, f # parse run, excel VBA, VBS, VB6, VB.Dynamic Compile.net runs the test. VB (net code), and it feels like everything can be done, nothing works well, and nothing is done well. The python node. JS can perfectly solve these problems, mainly by adding the functions of directly calling Java and.net class libraries, Windows API calling, com technology, and shell calling other programs (including running the console and returning text).
Python can call Java class libraries.net class libraries,
Perhaps the reason why Microsoft's VB family has all gone bankrupt and been abandoned is that python also occupies an important position.
Code:import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form
import jpype
import os
jar_path = os.path.abspath('.') + '/AddTwoNumbers.jar' # get the absolute path to the jar package jpype.startJVM('usr/local/java/jdk... /jre/lib/amd64/server/libjvm. so', '-ea', '-Djava.class.path=%s' % jar_path) # load java virtual machine, the first parameter is the Java jdk installation location, can be viewed by env | prep JAVA_HOME; the second parameter is written as the example; the third parameter is the absolute path of the jar package;
java_class = jpype.JClass('AddTwoNumsClass') # get the specified Java class by inputting the class name
result = java_class.addTwoNumsFunc(1, 2) # call the specified function of the class by the function name
jpype.shutdownJVM() # shut down the Java virtual machine, if not written will be shut down automatically when the Python program exits
Again, Python and VB6 don't occupy the same niche. They are not competitors. VB6 is a Windows-based RAD environment geared towards data-centric thick client application development. Python on the other hand is typically used as a "glue language" to bridge the gap between fundamentally incompatible systems.
And right there look at how you can easily glue together systems built in .Net, Java and COM using Python. That is what it's best at so no one should be worrying about Python displacing VB6. It's complementary to it if anything.
D.Add("abc", 123
), what is the principle of this? Why can he create this at will. Late-bound methods, but I also feel very similar to VB6 objects, perhaps 25 years ago, Microsoft can also use VB6 to call Java methods directly.
Hmmm. Python is more of a "high-level" language, basically a "macro" language sort of pretending to be a full-fledged language.
I think it's popularity is due to the fact that it's entirely free, easy to get going, and relatively OS agnostic. As such, it's relatively easy to get a non-programming person up and running with simple stuff. Install VSCode, Python, & Pylance ... fire it up, and say "print('Hello World')" and you get immediate results. In many ways, I think those are the same reasons that VB6 was so popular (and it even includes a wonderful GUI designer, which Python doesn't).
It seems that language developers can't seem to realize that many programmers (of all levels) just want a tool that's quick and easy to grab to get something done, and Python does fit that bill quite well, whereas (regardless of the arguments others will make), .NET does not provide us anything remotely resembling a quick and easy tool.
I was under the impression that .NET also includes a visual GUI designer similar to VB6. I wonder why doesn't Python include one since it's so popular... Also Python can't even compile to native code, it bundles up an interpreter in each EXE, I mean LoL...
I think it's wrong to characterize Python like this. Python is a feature-rich language, just as much as any modern high level language. It has everything you can find in any other high level language. First class function, classes, lambda expressions, iterators, decorators and much more. Python is an extremely deep language with a feature-set that will astonish most people.
However, I fully understand what motivated you to characterize Python as not being a full-fledged language. Unlike languages like VB6, C#, Java, C, Rust etc, Python absolutely cannot be used as the sole language to write monolithic mid-sized to large production level applications and in this sense I agree that it's not a full-fledged language. For example you will never see something like a BitTorrent client, a 3D shooter or GIMP clone written almost completely in Python. It's just far too slow. Large portions of such applications will unquestionable have to be written in other languages.
In fact, a lot of the common libraries used in Python are actually written in C. For example NumPy is built on top of a foundation written in C:-
https://github.com/numpy/numpy/tree/...umpy/_core/src
There is some truth to this. Python is a very easy language to right jump into but I also think Python's explosion in popularity was due mainly to the fact that it could just run anywhere at any time while boasting one of the largest collection of 3rd party libraries ever created for a programming language. So run anywhere + easy of use + big library = massive success.
I like to think of Python as a super advanced version of something like Bash, PowerShell or even VBScript. Personally I think Python can compliment dev platforms like VB6 and .Net rather than compete with them.
Yes it does. In fact we have two for classic Windows development, WinForms and WPF.
Python's biggest strength is its platform agnosticism and to this day the only UI technology to achieve this is HTML. Python + HTML is an extremely popular pairing so there really is no need for a standard UI framework in Python.
Now of course third parties have created their own UI libraries like Tkinter and if you intend to restrict yourself to a specific platform, these might not be a bad idea. In my opinion though, people really shouldn't be writing UI code in Python. It's very painful to write and inelegant to read.
This is still the best way to achieve near complete platform agnosticism which is Python's biggest selling point.
I assume by UI you mean GUI, because a language is fairly worthless with no UI at all. But, even if you mean GUI, I'm not sure why you say this. It just seems to me that any language, especially the world's most popular, in 2024, should have the ability to create nice GUIs.
I certainly agree with that one, and I'm learning it the hard way. For a VB6-FRM to Python project, I've just abandoned tkinter, moving to PyQt, thinking it'll be much better.
But IDK, I still think there's room for a mid-level, RAD, easy-to-use-and-test, language with good GUI features, in the marketplace. I suppose, ideally, it'd also need to be OS agnostic (which would require some compromise).
I tried using some python apps that had a GUI, they were painfully slow. I would agree python is best for command line or embedding
What are the features that I see that any language needs to consider:
- OS agnostic (or not)
- Snappy IDE
- Easy to get up and running
- Easy to test code
- Intellisense-like IDE features
- Compilable to machine code (or tight pseudo-code)
- Free (shareware) (both language & IDE)
- Nice GUI development system
- Easy to develop extension libraries
- Easy to install libraries
I know it's probably "near" impossible to put all of those together, but I do think it's possible to get close. Probably the most difficult two to combine are "compile to binary" and "OS agnostic" (given that OS agnostic strongly implies CPU agnostic as well).
Just thinking about it, it seems like some cross between Python and Java would come pretty close. I haven't tested, but I'd imagine that Java's p-code is substantially faster than anything Python comes up with.
----------------------
And I still say that, if Microsoft had kept developing VB6, they could have precisely this market niche.
In fact, python cannot be compiled into an exe, which does not affect its use. But it can be compiled just like bytecode. The code can be hidden and encrypted.
It can also be directly generated into exe with third-party tools.
It took Microsoft 25 years to finally defeat Java. It's just that, uh, programming languages are just more popular than Java.
But what he didn't expect was. java+jsThis is the scariest programming language. Plus scripting language.
It turns out that JS and VBS are competing with each other.
Eventually JavaScript will become the second most popular programming language after python.
Microsoft has been completely defeated in the field of programming.
At VBS,The score was only two points.. javascript had a score of 95 at the time.
VB. Net, VB6, Microsoft thinks they shouldn't develop it as a programming language.
There was a chance to develop it as a scripting language.Great language, and with a lot of developers, Microsoft chose to commit suicide.
The VBS does not have a simple scripting tool. The PowerShell replaces the VBS, but it's like a Nokia phone with a keyboard. A completely backward and outdated thing.
Is it a cross-platform thing? Even if it is, I think he is rubbish.
In fact, the use of VBnet to write code to run dynamic compilation, as a programming script language is also very good.
A terrible thing happened. He didn't have a code editor, he didn't have a easy form designer.
If Microsoft chooses to develop this tool as a (cross-platform) scripting language 10 years ahead of schedule, its direct competitor is py. There may be a chance of survival.
You can share package components from nuget,, and.net.
If we can acquire vbsedit. Exe 20 years in advance and run across platforms.
Microsoft has never invested normally in these small tools.Not giving them respect, and the windows system needs these features.
Just like the file search function of the system, it has been very rubbish for 30 years and has never been significantly improved. If acquiring everything. Exe, this free file search tool.
Even Microsoft's notepad tool has been very difficult to use. If it is directly replaced by a third-party notepad 3, or it is acquired.
It can make the operating system easier to use.
But there is little third-party software in Microsoft's operating system. Android and Apple, on the other hand, rely on third-party software to generate hundreds of billions of dollars in revenue.
Maybe Microsoft will choose to kill ie like it did. Webview2 with Google Browser kernel。
Even finally, the operating system is directly built in. With python as the default scripting language. Ban bat from the command line, ban VBS from running, and publicly admit that you have failed completely. Anyway, there are free third-party software to use.
The development efficiency is higher. Data studies have shown that Python is twice as efficient as Java, which means that there are fewer lines of code in Python. Lines of code may sound like a terrible indicator. Each language takes about the same amount of time per line of code. Therefore, limiting the number of lines of code can improve production efficiency. For example, Python can sketch an image in just 21 lines of code. Python has been on fire in the industry in the past two years.In addition to cloud computing to help Python bring a wave of rhythm, there is also a major reason is that the enthusiasm for Internet entrepreneurship has risen in recent years. Tens of millions of programmers have listened to all kinds of entrepreneurial chicken soup and quit their jobs in big companies to start their own businesses. Everyone is anxious to develop things quickly to get financing. At that time, investors'brains were also hot. A large number of money was invested in start-up companies. For all kinds of cash subsidies to grab users. Time is money, we wish we had an idea today, the product will be online tomorrow, the product will be online in the evening for a month, maybe the war has nothing to do with you.
In fact, Vb6 is the most efficient programming language for development.
But what Microsoft is pursuing is how to sell more vs development tools.If development continues, VB. Net. There is no guarantee of a 10% increase in sales.
Since you can't make money, you might as well cut off one hand directly.
Python Old Ape Concern Why is Python so hot now?
Python Old Ape The code age is 1 year Concern Why is Python so hot now? First, it's no accident that python has been rising up the list of programming languages over the years.After decades of development, python has been neglected for a long time, but now it is very mature. For example, the new language go does not have many packages needed, and there are many packages on python. It is impossible for users to write packages slowly and call packages directly, which is much faster and has immediate effect. Second, python can work in many areas. At first, it was only used on Linux instead. Later, it was found that python can do data analysis.Later, someone developed a development kit, pyqt desktop development kit, database driver, and then developed artificial intelligence, deep learning, GPU acceleration, so python can be applied in a wide range, especially on the server, unlike the client, which needs to be installed, many Linux have built-in python. In this way, python can play a big role on the server, and when the performance is not enough, acceleration measures such as graphics cards can be used. Three, python is open source, like Java, C # is mainly used for commercial software development, we can not see other people develop.
Fourth, python is particularly convenient in the field of artificial intelligence. Many open source artificial intelligence frameworks give priority to python. The learning cost of artificial intelligence is very high, and python can just simplify programming.
In November 2015, Microsoft began to release.net core cross-platform. It's been exactly nine years now.
It has been 26 years since the birth of VB6. If Microsoft started cross-platform 26 years ago. But he needs to have a real scripting language and an idE tool for script development. That might beat python.Because python scripts are very similar to VBS syntax.
I'm actually thinking in terms on n-tier application development which seems to be a very popular way to write applications now, especially multi-platform applications. I think Python is the worst possible choice for a front end language. There are just so many far better choices for writing UIs. If you're targeting the web, there are so many HTML based frameworks that are great at this. If you're on Windows, VB6, WinForms and WPF are great choices. You can even take Odoo's approach(I talk about Odoo later) and create your own UI framework.
Python in my opinion is best suited running the things behind the scenes.
Yea, I saw your thread on that. I think success will depend on how closely Windows UI paradigms can be matched to PyQt paradigms. For example, is there a direct PyQt equivalent to a VB6 multi-line TextBox at position (10,30)px with a size of (300,500)px with a forecolor of RBG(255,120,50) and a font value of Times New Roman of size 16.
Would you be surprised if I told you this already exists? There is a development platform called Odoo that uses Python as it's main language and this platform can be used to write fully featured web applications in Python that can run anywhere. The GUIs themselves are written in some XML language they invented specifically for building web UIs but it's very tightly coupled with Python within the Odoo environment.
Odoo applications are fairly basic in design. It doesn't take that much code to create a basic Odoo application. You build your UIs in their XML language which the platform will translate into classes and objects that you can then manipulate using Python code. If you follow their deployment protocols properly, you can then run your application in a web browser through their platform.
I'm willing to bet Odoo is not the only Python-based development platform like this. I just happen to be familiar with it because this is the direction my father wants to take the company, a decision I'm not too fond of but that's another story.
For right now, AI is making Python even more popular. GPT-4 specifically can damn near work miracles thanks to it's ability to execute tasks by writing Python code.
For example, I once sat for hours just telling GPT-4 to graph different functions for me. Here's an example:-
https://www.vbforums.com/images/ieimages/2024/02/5.png
And here is the code used to generate that graph:-
https://www.vbforums.com/images/ieimages/2024/02/6.png
I cannot think of any other language besides Python that can be used this way. No language, not C/C++, .Net, VB6, Java would have been better suited than Python as a way of dynamically generating AI output.
I mean just try to imagine for a moment if C was used here instead of Python. Do you think it would have been so easy to produce that graph using C? As a matter of fact, lets ask GPT-4 itself and see what it says:-
https://www.vbforums.com/images/ieimages/2024/02/7.png
As you can see, there are a number of hurdles to overcome which just doesn't exist when Python is used. This is why "Python is so hot now"
Maybe if we need to develop some scripts using PowerShell. Ask GPT, can he give us an answer? Maybe it's hard for us to understand. For python, the results of its source code search may be more accurate and easier to understand.
As a follow up to my last post, I decided to ask GPT-4 directly why Python was chosen over other languages:-
This is the answer it gave, which I asked it to translate to BB code to post here:-Quote:
Why was Python chosen as the language for your code interpreter? Why not C, VB6, C#, Javascript or Java? Give reason why each of these languages were not suitable in comparison to Python.
Python
Ease of Learning and Use
Python's syntax is clear and intuitive, making it an excellent choice for educational purposes and for users who may not have a deep background in programming. Its readability and simplicity allow for quick understanding and modification of code.
Versatile Standard Library and Third-Party Modules
Python comes with a vast standard library and has a large ecosystem of third-party modules, making it highly versatile and capable of handling a wide range of tasks, from web development to data analysis and machine learning.
Interpreted Language
Being an interpreted language, Python allows for interactive experimentation and debugging, which is ideal for a conversational interface where immediate feedback and iterative exploration are valuable.
Cross-Platform Compatibility
Python's cross-platform nature makes it suitable for a service that needs to run on various operating systems without modification.
Why Not Others?
C
While C is powerful for systems programming and embedded systems, its complexity, manual memory management, and lower level of abstraction make it less suited for a conversational AI platform. The risk of security issues like buffer overflows and the need for compilation make it less user-friendly for this context.
VB6
Visual Basic 6 (VB6) is considered outdated and not supported on modern platforms. Its limited support for object-oriented programming and its focus on Windows-based applications reduce its suitability for a cross-platform, web-based service.
C#
C# is a robust and versatile language, primarily used in the .NET ecosystem. However, its stronger association with Windows platforms and the .NET framework can limit its cross-platform capabilities compared to Python. Though .NET Core has improved its cross-platform support, Python still holds the edge in terms of versatility and ease of use.
JavaScript
JavaScript is the language of the web and is unmatched for client-side scripting. However, for server-side applications or data analysis tasks, Python offers a more comprehensive set of libraries and tools (e.g., NumPy, pandas, SciPy for data science). JavaScript's asynchronous nature and event-driven model can also add complexity for certain types of computational tasks.
Java
Java is a powerful, object-oriented language with wide usage in enterprise environments. However, its syntax and boilerplate code can be more verbose compared to Python, making Python more accessible for beginners and for rapid development tasks. Furthermore, Python's dynamic nature allows for more flexible and interactive coding, which suits the needs of a conversational AI platform.
In summary, Python's combination of ease of use, extensive libraries, and its suitability for a wide range of programming tasks makes it an ideal choice for an integrated code interpreter in a conversational AI environment. Its advantages in readability, cross-platform support, and community support outshine the specific benefits that other languages might offer in their niche domains.
That works until you are working on, or trying to use, more than one python application that use different versions of Python - suddenly just being able to run isn't the case. Pip fails to install dependencies for one, if I have python 3.11 first in my path as this app is only designed for Python 3.10. However I have a second application I want to use that fails if python 3.10 is first in my path. I now end up having neither of them in my path, and wrap the two applications in their own batch file that sets the correct python version on the path first. Not the end of the world, but certainly not always straight forward.
Edit: I wouldn't have disagreed about this until this morning when I had exactly this issue and I am bitter about it right now!
Just as an aside though, with C# it is possible to use it like a scripting language, and not require the full Visual Studio install. Can make it easier to throw quick scripts together if you are a C# person rather than a powershell / batch / vbs etc. person.
If you install the free dotnet sdk https://dotnet.microsoft.com/en-us/download
Then install the script tool
Then create a file (hello.csx) with some C# e.g.Code:dotnet tool install -g dotnet-script
You should then be able to typeCode:Console.WriteLine("Enter your name");
var name = Console.ReadLine();
Console.WriteLine($"Hello {name}");
You can also import other libraries, do more complex things.Code:dotnet script hello.csx
If you like vscode you can even set it up by doing
And it will create a simple script folder with a main.csx, and configure VS code as a debugger for you.Code:dotnet script init
code .
The simple answer is, It Didn't.Quote:
Why did Microsoft abandon ,killed VB6?
20+ years after MS moved on to .Net, VB6 apps can still run on Windows OS.
The first home computers in the early eighties were all about home programming.
There were many games also for children but it was all about home programming and they all used basic in one form or another - simple language, resembles plain English.
MS jumped into the game sometime in 1985 with microsoft basic, the grand father of vb6.
At the same time the Russians, still under communism, were frowning over all this. Computers outside our glorious Soviet intitutes ? People doing what they like ? You do know of course that if you were a student and you wanted to photocopy some notes it needed a permit from the party. The ideas of the Soviets failed of course and the collapse of their system was not far.
Now microsoft after the turn of the century they changed their mind:
Why home computing ?
Why stable products when we can kill them and buy new ones ?
Who cares about the programmers if their pressure of work does not allow them to learn all the ms new tools ?
Who cares about the clients of those programmers if their software becomes icompatible ?
Remember Vista ? Bugs-incompatibilities allover the shop (but thankfully vista died soon).
The new idea is to make everything fee based.
You don't buy a program noww and it's yours.
You need to pay annual fee and of course microsoft are not the only ones who do that.
Office for example. You no longer buy it and that's it. I have killed it of course in favour of open office.
In short the computer market slowly transformed into microsoft market and affiliates.
Everything is to be dictated from above, consumer needs - everything.
Why should you, as a medium sized computer firm sell the machine and the os for 500 buks and your particular business software product for 1500 ? That's criminal and big mamma knows it !