Proof that Windows is bloatware

For everything that's not in any way related to PureBasic. General chat etc...
Thorium
Addict
Addict
Posts: 1308
Joined: Sat Aug 15, 2009 6:59 pm

Re: Proof that Windows is bloatware

Post by Thorium »

Inf0Byt3 wrote: I see... But speaking of security, isn't this the good old cat-and-mouse game? Of course, no one is saying that it won't make it harder to code malicious stuff, but the malware writers will eventually find ways to bypass all those measures.
They did allready in the beta phase of .Net 1.0.
.Net viruses do exist.

It's true that security is the main reason for .Net. Another reason is to wrap the WinAPI to a OO level. To make it easier to use in OOP languages.
Danilo wrote:Some of you just ignored all improvements over the last 10 years. You hate the new API's,
advancements in programming languages, newer Operating Systems.

You just don't get it, sorry. Just stay with your Win95 stuff. It is your own fault -
the world will continue to grow/expand/develop.
Some of us just dont take the new stuff only because it's new. I look what i need and want and decide if i want to use it. Just because something is new it isnt necessary better.
I dont care about .Net. I dont use it in my programs but i also dont care if someone else uses it. I dont have a problem with installing it.
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: Proof that Windows is bloatware

Post by Shield »

Thorium wrote: Another reason is to wrap the WinAPI to a OO level. To make it easier to use in OOP languages.
Not necessarily. It doesn't make it easier to use the functionality provided by the OS in OOP languages...
it makes it easier in general. Using .NET classes and methods really is easy...I'd say it's even easier than using some
of the PureBasic functions.

Also, a very important aspect of .NET is: you don't have to be concerned about "basic" stuff such as windows / gadget management
or date formatting. It just works and you can concentrate on the "core" functionality of your application and therefore prevents
you from inventing the wheel over and over again. :)

This also is important for "Rapid Application Development" (RAD).
Image
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
User avatar
J. Baker
Addict
Addict
Posts: 2192
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Re: Proof that Windows is bloatware

Post by J. Baker »

I never understood .Net myself. Everything is hackable and can be infected or effected by viruses. So stop bloating everything. Keep it small, fast, and preferably bug-less. ;)
www.posemotion.com

PureBasic Tools for OS X: PureMonitor, plist Tool, Data Maker & App Chef


Even the vine knows it surroundings but the man with eyes does not.
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8452
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Re: Proof that Windows is bloatware

Post by netmaestro »

Defending against malicious code is only part of the goal. Equally important is the ability to defend against remarkably bad code that can harm the stability of the OS. Remember all those blue screens of death from the early NT days? Protected mode was not created perfect and is not bulletproof today and stupid code as opposed to malicious code is equally capable of bringing a system down. A top priority of Microsoft's management is that the computing public see Windows as stable and safe. This is one significant step towards getting there and it's pretty much working imho.
BERESHEIT
User avatar
J. Baker
Addict
Addict
Posts: 2192
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Re: Proof that Windows is bloatware

Post by J. Baker »

In my 19 years of using "Microsoft" OSes, I have only seen the blue screen of death once I think and only two viruses. One of the viruses was my fault. I didn't scan an infected zip file containing a game. The second one came from a website with a pop-up that installed some b.s. anti virus. My only issue was shitty software that would lock up the app back in 2000 on Windows ME.

Now I have fixed a lot of computers that were infected.

I use to wonder what the hell people were doing on their pc's when they got infected. Most of the time, it was due to inexperience, crappy anti-virus installed, downloading music, or looking up websites that contained nudity.

Maybe I've been lucky but I also surf safely. I don't care for torrent crap, porn, or downloading music. I also stick to sites I know or feel that can be trusted.
www.posemotion.com

PureBasic Tools for OS X: PureMonitor, plist Tool, Data Maker & App Chef


Even the vine knows it surroundings but the man with eyes does not.
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Proof that Windows is bloatware

Post by Danilo »

The thing is also that Microsoft did not develop this technologies and frameworks just for fun only.

Microsoft actually uses this platform for writing applications. All latest big software packages
(Visual Studio, Office, Expression, ...) are written with .NET and it works very fine.
After Windows Forms, which was basically a wrapper for WinAPI GUI Controls, they developed
Windows Presentation Foundation (WPF), which is a graphics and GUI framwork completely
hardware accelerated on top of DirectX. Its all vector graphics internally, so resizing the GUI
does not pixelate it like when resizing bitmap graphics.

So if you want to run modern Microsoft software on an older OS where no .NET framework
is installed, you have to install it one time. For big software packages, the installer may already
include the framework install.

The .NET Framework 4.0 including WPF is the recommended development platform by MS
for writing windows applications today and has been so for some years already.

.NET is so good that developers on other platforms wanted it as well.
wikipedia::Mono:
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.[3] Mono can be run on Android, BSD, iOS, Linux, Mac OS X, Windows, Solaris, and Unix operating systems as well as some game console operating systems such as the ones for the PlayStation 3, Wii, and Xbox 360.
And here a multiplatform game engine on top of .NET: DeltaEngine
The Delta Engine allows you to develop applications and especially games for all major AppStore platforms completely under Windows with .NET by using your favorite tools. It is free to use (on Windows, see Licensing), Open Source and written in 100% .NET.

The Delta Engine currently supports Windows, iPad, iPhone, Android, Android Tablets, Windows Phone 7, Xbox 360, Linux, MacOS, the Web as well as more platforms in the future.
.NET is supported by many programming languages, including Ruby and Python.
See Wikipedia: List of CLI languages
For a very small general overview see Wikipedia: .NET Framework

.NET is not only an OOP class library. It includes many modern technologies, including
support for dynamic languages that can not be compiled to a static executable.
It includes also classes for compiling at runtime, so you can generate, compile and run
code at runtime.
And as said before, it is not just a wrapper for WinAPI. It even does not include all
WinAPI functionality. But you can still use WinAPI and pointers with .NET, if you really
need it. Thats just not the default way you should code with .NET.

Another important new technology is XAML for writing GUIs. Instead of writing your
GUI with code (Button btn1 = new Button()), you write your GUI in XAML like this:

Code: Select all

<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="480" Width="600">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        
        <StackPanel Grid.Column="0">
          <Button Content="Button 1" />
          <Button Content="Button 2" />
          <Button Content="Button 3" />
        </StackPanel>
        
        <ListBox Grid.Column="1" />
        
        <StackPanel Grid.Column="2">
            <Button Content="Button 4" />
            <Button Content="Button 5" />
            <Button Content="Button 6" />
        </StackPanel>
    </Grid>
</Window>
So you can write your GUI with a very high level presentation and the
code for it gets generated automatically. And with Grid and StackPanel
your controls automatically fit to the window.
The resulting windows looks like this:

Image

You can still write your GUI directly in code if you want. XAML has the advantage
that you can very easily and very fast change your GUI.
No need to change any code. If you want the buttons in another Container (StackPanel, Grid etc.),
you just move the button definitions there with cut&paste. In code you would need to change
many lines like stackpanel1.Add( btn1 ), stackpanel1.Add( btn2 ) etc. if you want to move a control
somewhere else.

The VisualStudio Designer has full support for XAML. So you can write XAML by hand
or just visually drag&drop your GUI stuff with the designer. The designer generates
the XAML for you. Its a good idea to learn to write XAML if you code for .NET and WPF.
buddymatkona
Enthusiast
Enthusiast
Posts: 252
Joined: Mon Aug 16, 2010 4:29 am

Re: Proof that Windows is bloatware

Post by buddymatkona »

J.Baker said "I also stick to sites I know or feel that can be trusted." When I search for information, the sites vary from trusted to "who knows?".
An extension for Firefox named NoScript lets you block or easily allow scripts. I also use a download manager to takeover all downloads.
I have had to bail out of a few clearly bad sites but so far...no malware.
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Proof that Windows is bloatware

Post by Danilo »

One more word about programming security and .NET:
This has in the first place nothing to do with virus programming.
It is all about application programming security.

Security in .NET means preventing Programming bugs and add checks against stack corruption,
buffer overflow, heap overflow, stack buffer overflow and more.

The old WinAPI used pointers anywhere. You call a WinAPI function and give
it a pointer to a buffer that the function fills, for example the window title or so.
The whole WinAPI was programmed with this unsecure way.
Pointer stuff, memory leaks and corruption etc. were the biggest programming problems
in the good old days of WinAPI. And it was not easy to care about all this if you wrote
big applications. It was not easy to write very secure applications.

Everybody has seen many applications just crashing over the last 15 years. Sometimes
so bad, that you may have seen a blue screen and the computer just rebooted.
You may have seen this with PureBasic too. Just a small programming error and you write
to undefined memory. A wrong declaration and you get a stack corruption (stdcall/cdecl).

All this has been addressed with the .NET Framework, its compilers, the class libraries
and the way you develop.
It has been addressed because this were the biggest issues in the whole programming world.
Some of you may not care about this, but to the rest of the world application security
is very important.

Its the same with multithreaded, multiprocessor parallel programming.
.NET has everything included for this and makes this stuff more secure to use too.

So think about application programming security, resource handling, preventing programming bugs
and security attacks instead of thinking about virus programming if you talk about .NET security.
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: Proof that Windows is bloatware

Post by djes »

Danilo> Excuse me, but... Are you 10 years old ? I've read such commercial arguments for so many times in my life that I'm just shocked you could copy/paste this ! All of this will end like always in the past : support will be broken, better ideas will be the worst, and nobody will ever be able to compile anything in 5 years. As long as you believe in these companies, they'll do their best to keep you forever in their sinking ship.
And for all that you showed : Postscript did vector graphic 25 yrs ago, and I don't talk about automatic gadgets placements and font automatic sizing that should be on windows 20 yrs ago. Of course, it's good to have at least this clean and functional functionalities, the problem is that I can't trust MS anymore. Trust is easy to loose, will be hard to come back.
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Proof that Windows is bloatware

Post by Danilo »

@djes:
You dont need to trust MS if you dont want and you can stop developing for windows.
There are other platforms like Apple's stuff, Linux/Unix, Google's stuff, if you more trust in this.

What i say is for windows developers: WinAPI style programming has been identified
as being unsecure many many years ago. So MS started to develop a new programming platform
for windows developers over 10 years ago.
It took many years to develop many new technologies, but now it works very fine.
Of course this is not the end, and development will go on and new technologies will come.

There is no reason for Microsoft to add all this future stuff to the old, unsecure WinAPI
and its programming style. You can already see this, as you don't have access to the
latest technologies from PureBasic/WinAPI. PureBasic.NET would be needed for this.

*IF* you want to develop for Windows and Microsoft stuff in the future, you need
to use the platform that MS provides for you as a windows developer. And thats
clearly not WinAPI anymore.

If you dont care about Windows development in the future, you don't need all this .NET stuff.


Of course it is good to hear other opinions. What is your opinion? Abort Windows development
is one choice. But whats the choice if you do not want to abort Windows development?
You have to take new technologies into account if you think about it and you have to
take into account what happened over the last 10 years. What has been developed in the
last 10 years? What is the platform that Microsoft itself uses for product development in its
latest products? It is the .NET platform. Not only for Windows desktop applications but also
for Windows Phone 7 development. The Windows 8 developer preview shows .NET examples
to develop for future Win8 tablets, so i still think it is the right choice for Windows/MS developers.
And believe me, it was a very hard decision for me to move to .NET. Starting at 0 again and
learn all the new things... but after learning and using it, i feel it is a very very good platform
for development.
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Proof that Windows is bloatware

Post by Ramihyn_ »

DeltaEngine looks interesting and i am glad that the public beta finally was released yesterday, but time will tell if DE can compete in a market with several other strongly growing competitors.

I actually love(d) using C# and .NET to develop application software. Very clean and powerfull combination if you want to create Windows applications. That mono exists for umpteen platforms, wont help you if you ever use WPF ;) Not even the linux mono versions support WPF and the last i heard, its not even known when or if it will. GUI's in XAML ... well ... sorry but this is 2011 and applications are slightly more complex than a bunch of buttons in a row ;) A visual GUI designer will be used anyway and i still dont know why i should care if the resulting code is XAML or something else, as long as it works as advertised :)

.NET uses a JIT compiler, so the execution of the code actually is a standard x86/64 dll, but it will get JIT compiled which can result in performance hits. You can write unmanaged code in C#/.NET if you wish and sometimes you even need to (classes wrapping traditional C/C++ DLLs sometimes need it). If you just use C# and .NET without knowing much about the internals, your applications can be decompiled very easily (see .NET reflector http://www.reflector.net/), but you can protect your sources plus deliver your code as a traditional x86/64 binary too. It's just not the default way.

But dont get me wrong, it is quite easy to use mechanisms of C#/.NET which will make your application quite slow and there arent many real apps using WPF so far and the big ones that do - like VS 2010 - had quite some struggle to get it fast enough (just check their release history till they went "gold").

The whole discussion about .NET being "bloatware" due to just wanting to run one program happened years ago already, you can look at windows the same way if you just want to run a single program which uses a window and buttons. But that totally misses the point. You need windows to run windows programs and .NET to run .NET based programs. Sure it is annoying that Microsoft forces you to install .NET ONLY for such a compatibility test program and other companies likely wouldnt have done it, but thats Microsoft for you. Some years ago it made more sense to complain about it, but now several software apps use .NET, the internet connections are generally much faster (you complain about 30mb? - my friend just bought Rage from steam - a 20gig download for some interactive 3D shooter) and .NET is now in the default install of any recent Microsoft OS for quite a while.

1 gig or ram - approx. 5 euro, 2 terabyte hard disk - approx. 95 euro. Welcome to 2011.
User avatar
the.weavster
Addict
Addict
Posts: 1581
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: Proof that Windows is bloatware

Post by the.weavster »

Danilo wrote:.NET is so good that developers on other platforms wanted it as well.
wikipedia::Mono:
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.[3] Mono can be run on Android, BSD, iOS, Linux, Mac OS X, Windows, Solaris, and Unix operating systems as well as some game console operating systems such as the ones for the PlayStation 3, Wii, and Xbox 360.
Although I agree with most of what you're saying Danilo my impression from the Linux forums I frequent is that most Linux users and developers absolutely do not want mono. The concern seems to be that M$ are using Novell/mono to try and seed patented code into Linux.

Personally, wherever possible, I use Python these days. Not only does it have the advantages of handling all the memory management but I find the informality and flexibility of it just brilliant.
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: Proof that Windows is bloatware

Post by djes »

I'm almost sure that some day MS will transform the whole not native .NET to a fully native (and "fast") API. It's a question of time. But I'm sure they can't do the clean job they claim. Anyway, as long there's alternatives...
Foz
Addict
Addict
Posts: 1359
Joined: Tue Nov 13, 2007 12:42 pm
Location: Manchester, UK

Re: Proof that Windows is bloatware

Post by Foz »

Note this is all speculation on my part:

If you remember, they really got on the bandwagon with Java until Sun sued them, so they invented their own "Java" - the .net CLR - to take the army of VB6 & C++ developers and entice the Java developers onto the same runtime.
Then they started giving it away to bring over the stragglers, and now many MANY developers use .net. Even in the Linux camp they use it (heck, Ubuntu has Mono integrated in it for many of it's applications!)

Many people scratched their head at this behaviour, but looking at it now... I'm fairly certain, that the plan to move to the ARM architecture was carefully laid out many many years ago, however Microsoft were stuck with the Intel x86 architecture.
So they had to shift people away from machine code executables - not all at once mind you, this had to be done gradually to ease the move. First introduce the run time (.net 1.0 & 1.1), rewrite it to work much better (2.0), integrate it into the OS so it's integral to Microsoft products (3.0), make features exclusive to the framework (3.5 & 4.0 - finally locking you in, and getting people away from using C++).

Then they were ready for the next phase: multi-architecture. A compile once in .net and it will work on all versions of Windows x86, x64 and... ARM.

I may be wrong - as I said, it's speculation on my behalf, but this looks waaay to engineered to be anything else.
User avatar
Blood
Enthusiast
Enthusiast
Posts: 161
Joined: Tue Dec 08, 2009 8:34 pm
Location: United Kingdom

Re: Proof that Windows is bloatware

Post by Blood »

Shield wrote:Some of you guys should stop seeing .NET as some kind of tumor attached to Windows.
It isn't. .NET is an integral part of the Windows API since Vista
and it brings so many unbelievable opportunities
to the developers that the advantages clearly outweigh those 30 MBs. ;) Times change.
This!

Stop whining about .NET, jeez, it's been here since 2002 and is now a part of all windows operating systems. If you'd stop screaming for a while and actually used the .NET framework (along with C# and VS) it's obvious to any decent programmer that it's probably the greatest thing microsoft has ever created! (and probably why people stick developing for windows) The API's contained within it are fantastically elegant.

Oh and FYI PureBasic uses a framework too! It's called the Win32 API and the visual c runtimes. I wonder what you would say when microsoft upgraded Win16 to Win32!! :lol:

Move on or get left behind.
C provides the infinitely-abusable goto statement, and labels to branch to. Formally, the goto is never necessary, and in practice it is almost always easy to write code without it. We have not used goto in this book. -- K&R (2nd Ed.) : Page 65
Post Reply