473,503 Members | 11,281 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

System level software in C# ?

Hi,

Is it possible to write system level software in C#?

(Of course, I'm not thinking about HAL.)
But would be C# OK to write an OS kernel?
....Or a web browser?

Thanks in advance
MrAsm
Jun 2 '07 #1
17 1403
On Sat, 02 Jun 2007 02:58:17 -0700, MrAsm <mr***@usa.comwrote:
Is it possible to write system level software in C#?

(Of course, I'm not thinking about HAL.)
But would be C# OK to write an OS kernel?
...Or a web browser?
Web browser for sure. OS kernel? I suppose that depends on what kind of
hardware you want that kernel to run on, and what you expect it to do.
I'd say generally the answer would be "no", but I can imagine some very
simple "OS kernel"-like projects where C# would probably work fine.

Why do you ask?

Pete
Jun 2 '07 #2
hi,
Web browser.. hmm check out the web browser component in .net 2.0.
Jun 2 '07 #3
Not really as C# is a high level compiler. If you really really wanted to
you'd have to create an OS kernel first in some other language to support
the C# code. I guess you could create a cross-compiler which would allow you
to create the C# code which is then converted into the lower level code
which an OS runs.

Keep in mind that on your PC C# is executed via the .NET engines which run
off the Windows engines which run of the computers BIOS. That's a lot of
functionality to replace.
"MrAsm" <mr***@usa.comwrote in message
news:dm********************************@4ax.com...
Hi,

Is it possible to write system level software in C#?

(Of course, I'm not thinking about HAL.)
But would be C# OK to write an OS kernel?
...Or a web browser?

Thanks in advance
MrAsm

Jun 2 '07 #4
C# was not made for system level developing. You can do advanced
things with it (like call low-level Win32 API functions, make windows
services, attach to global events, and etc.), but due to its "virtual
nature", stay out from it when considering system level software
development.

Maybe, and only maybe, Vista brings this feature because it's better
interconnected with .NET (http://www.grimes.demon.co.uk/dotnet/
vistaAndDotnet.htm)

MrAsm je napisao/la:
Hi,

Is it possible to write system level software in C#?

(Of course, I'm not thinking about HAL.)
But would be C# OK to write an OS kernel?
...Or a web browser?

Thanks in advance
MrAsm
Jun 2 '07 #5
On Sat, 02 Jun 2007 03:29:41 -0700, Hakan Fatih YILDIRIM
<hf*********@gmail.comwrote:
>Web browser.. hmm check out the web browser component in .net 2.0.
Is the web browser component in .NET written entirely in C#, or is it
a wrapper around a COM component written in C++?

MrAsm
Jun 2 '07 #6
On Sat, 02 Jun 2007 11:26:14 -0700, "Peter Duniho"
<Np*********@nnowslpianmk.comwrote:
>OS kernel? I suppose that depends on what kind of
hardware you want that kernel to run on, and what you expect it to do.
I'd say generally the answer would be "no", but I can imagine some very
simple "OS kernel"-like projects where C# would probably work fine.

Why do you ask?
Because I'm studying C# and I like it very much, and I'm interested in
the "scope" of the language; while I think it's fine to write apps in
C#, I was interested to understand if it is OK also to write more
low-level software using it.

I read about an experimental C# OS called Singularity.

MrAsm
Jun 2 '07 #7
MrAsm wrote:
Is it possible to write system level software in C#?

(Of course, I'm not thinking about HAL.)
But would be C# OK to write an OS kernel?
...Or a web browser?
I am not sure I will call a web browser for system level software.

You can definitely write a browser in C# even though I am not
aware of anyone doing so.

An operating system will require some native code but huge
parts could be done in managed code.

Checkout http://en.wikipedia.org/wiki/Singula...erating_system)
for what can be done.

Arne
Jun 2 '07 #8
It's a wrapper.

Tons of C# components are just wrappers around good-ole COM.

As for the system-level - well, you can work with files, registry, network,
web, comm. ports, write a service, create a process, create threads, do some
fancy graphics, etc.

You most likely won't be able to write a brand-new OS in C#, since any .Net
app will require CLR, which in turn will require Windows. You can probably
write some OS that will run inside Windows, for an exercise.
"MrAsm" <mr***@usa.comwrote in message
news:ce********************************@4ax.com...
On Sat, 02 Jun 2007 03:29:41 -0700, Hakan Fatih YILDIRIM
<hf*********@gmail.comwrote:
>>Web browser.. hmm check out the web browser component in .net 2.0.

Is the web browser component in .NET written entirely in C#, or is it
a wrapper around a COM component written in C++?

MrAsm

Jun 2 '07 #9
On Sat, 2 Jun 2007 09:47:26 -0700, "Ashot Geodakov"
<a_********@nospam.hotmail.comwrote:
>It's a wrapper.

Tons of C# components are just wrappers around good-ole COM.
Thank you for these information.

I think that it does make sense for Microsoft engineers to reuse
alread developed and tested COM C++ components, wrapping them in C#.

However, I wonder if it would be possible to write these components
from scratch in C#, or if there would be performance problems that
force to use C++.

MrAsm
Jun 2 '07 #10
On Sat, 02 Jun 2007 10:49:52 -0700, MrAsm <mr***@usa.comwrote:
[...]
However, I wonder if it would be possible to write these components
from scratch in C#, or if there would be performance problems that
force to use C++.
In general, there should be no performance problems. There's some
overhead in using .NET Framework, but for something like a web browser,
it's likely that the user would never notice the difference. The
advantages of using the .NET Framework (rapid development, code
correctness and security, etc.) would outweigh whatever performance loss
one gets.

Pete
Jun 2 '07 #11
MrAsm wrote:
On Sat, 2 Jun 2007 09:47:26 -0700, "Ashot Geodakov"
<a_********@nospam.hotmail.comwrote:
>It's a wrapper.

Tons of C# components are just wrappers around good-ole COM.
I think that it does make sense for Microsoft engineers to reuse
alread developed and tested COM C++ components, wrapping them in C#.

However, I wonder if it would be possible to write these components
from scratch in C#, or if there would be performance problems that
force to use C++.
C# code should perform as good as C++ code.

And the code quality would likely be much better.

But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Arne
Jun 2 '07 #12
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk...
But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Arne
Sigh...

That's exactly what our company currently does - rewrite hundreds of
thousands of 20 year old, absolutely unreadable C++ code into C#. It's a
nightmare. And the worst part is that there's no real reason for that - the
old code works... :(
Jun 2 '07 #13
On Sat, 2 Jun 2007 11:48:31 -0700, "Ashot Geodakov"
<a_********@nospam.hotmail.comwrote:
>"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk. ..
>But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Arne

Sigh...

That's exactly what our company currently does - rewrite hundreds of
thousands of 20 year old, absolutely unreadable C++ code into C#. It's a
nightmare. And the worst part is that there's no real reason for that - the
old code works... :(
But maybe the C++ is hard to read/mantain, so rewriting it in quality
C# is an investment for the future.

MrAsm
Jun 2 '07 #14
Ashot Geodakov wrote:
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk...
>But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Sigh...

That's exactly what our company currently does - rewrite hundreds of
thousands of 20 year old, absolutely unreadable C++ code into C#. It's a
nightmare. And the worst part is that there's no real reason for that - the
old code works... :(
You should be happy to work for company that actually prioritize
code quality over cost (read: cost in this fiscal year).

But maybe you prefer C++ ? :-)

Arne
Jun 2 '07 #15
"MrAsm" <mr***@usa.comwrote in message
news:07********************************@4ax.com...
On Sat, 2 Jun 2007 11:48:31 -0700, "Ashot Geodakov"
<a_********@nospam.hotmail.comwrote:
>>"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk.. .
>>But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Arne

Sigh...

That's exactly what our company currently does - rewrite hundreds of
thousands of 20 year old, absolutely unreadable C++ code into C#. It's a
nightmare. And the worst part is that there's no real reason for that -
the
old code works... :(

But maybe the C++ is hard to read/mantain, so rewriting it in quality
C# is an investment for the future.

MrAsm
The code is based on some pre-historic C++ library for Windows - not MFC,
not OWL, but ZApp. Ever heard of it? :)

I am actually happy that that part of the codebase is being thrown out. If
only if didn't take sooooo long... Here's the problem: the code itself is
the product's specification. Can't understand what the heck it's doing -
well, tough luck... :)
Jun 2 '07 #16
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk...
Ashot Geodakov wrote:
>"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:46***********************@news.sunsite.dk. ..
>>But you do not rewrite hundreds of thousands of lines
of code unless you really have to.

Sigh...

That's exactly what our company currently does - rewrite hundreds of
thousands of 20 year old, absolutely unreadable C++ code into C#. It's a
nightmare. And the worst part is that there's no real reason for that -
the old code works... :(

You should be happy to work for company that actually prioritize
code quality over cost (read: cost in this fiscal year).

But maybe you prefer C++ ? :-)

Arne
No preference there, just a good code over a bad one... :)
Jun 2 '07 #17
Ashot Geodakov wrote:
The code is based on some pre-historic C++ library for Windows - not MFC,
not OWL, but ZApp. Ever heard of it? :)
Never heard of that.
I am actually happy that that part of the codebase is being thrown out. If
only if didn't take sooooo long... Here's the problem: the code itself is
the product's specification. Can't understand what the heck it's doing -
well, tough luck... :)
Heard of that ! :-)

Arne
Jun 2 '07 #18

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2039
by: Rob Tweed | last post by:
I have a customer who is having problems when their Windows 2000/IIS/PHP-based system begins to experience a level of loading that isn't, in my view, unreasonably high. I'm wondering what others...
0
1237
by: Mohit Gupta | last post by:
Hi all, I am just new to VB .Net development arena. Previously I have used VB lot for developing software. As far as I know, in VB to use system level calls, such as, keybd_event, I had to write...
3
2499
by: Ais | last post by:
Hi.. Presently i'm trying to install IBM Db2 Software on my Windows XP Operating systems. I'm using IBM(R) DB2(R) Universal Database Enterprise Server Edition, Version 8.1. After...
8
1735
by: wally | last post by:
There is a brilliant application that allows you to wrap your EXE and all associated DLLs, OCXs, etc. into a single executable and run the executable on Windows OSs with no install and nor...
9
3009
by: Xah Lee | last post by:
REQUIREMENTS FOR A VISUALIZATION SOFTWARE SYSTEM FOR 2010 Xah Lee, 2007-03-16 In this essay, i give a list of requirements that i think is necessary for a software system for creating...
6
2334
by: leoman730 | last post by:
This is one of the interview question this morning, hope someone can help out with this. Thanks. What is the different between System call and library call?
3
1422
by: Polaris | last post by:
Hi: Anyone can explain the concept of "System Level Applications"? An example? Thanks in Advance! Polaris
21
2427
by: omkar pangarkar | last post by:
Hi all, I have two simple hello world programs one using printf() and other using write() --prog 1-- #include<stdio.h> #include<stdlib.h> int main() { printf("Hello"); /* up to here...
0
7207
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7095
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7294
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7361
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7015
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7470
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
4693
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
1523
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
749
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.