473,406 Members | 2,956 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

After read a whole OS written by C, someone asks `What is the advantage of C'

After read a whole OS written by C (e.g. UNIX 6th Edition written by),
at the end (yes, at the last line of the text of the last chapter),
someone (sure, it's John Lions) asks `What is the advantage of C' (is
it your question also).

lovecreatesbeauty

Jul 13 '06 #1
22 1394
"lovecreatesbeauty" <lo***************@gmail.comwrites:
After read a whole OS written by C (e.g. UNIX 6th Edition written by),
at the end (yes, at the last line of the text of the last chapter),
someone (sure, it's John Lions) asks `What is the advantage of C' (is
it your question also).
Could you rephrase this question, in English this time?
--
Peter Seebach on C99:
"[F]or the most part, features were added, not removed. This sounds
great until you try to carry a full-sized printout of the standard
around for a day."
Jul 13 '06 #2

Ben Pfaff wrote:
"lovecreatesbeauty" <lo***************@gmail.comwrites:
After read a whole OS written by C (e.g. UNIX 6th Edition written by),
at the end (yes, at the last line of the text of the last chapter),
someone (sure, it's John Lions) asks `What is the advantage of C' (is
it your question also).

Could you rephrase this question, in English this time?
I'll assume he's repeating the question from the text, "What is the
advantage of C" I have to ask compared to what?

I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.

Tom

Jul 13 '06 #3
Tom St Denis wrote:
Ben Pfaff wrote:
>"lovecreatesbeauty" <lo***************@gmail.comwrites:
>>After read a whole OS written by C (e.g. UNIX 6th Edition written
by), at the end (yes, at the last line of the text of the last
chapter), someone (sure, it's John Lions) asks `What is the
advantage of C' (is it your question also).

Could you rephrase this question, in English this time?

I'll assume he's repeating the question from the text, "What is the
advantage of C" I have to ask compared to what?

I mean C lets you do manual computations easily. But so does any
other language. So without a context listing possible "advantages"
is a bit hard.
I *think* he means the very last bit in 'Suggested Exercises':

6.2 "Discuss the merits of the "C" as a systems programming language. What
features are missing? or superflous?"
--
==============
Not a pedant
==============
Jul 13 '06 #4

Tom St Denis wrote:
I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.
Do you have the book handy? Even John did not mention the contrary
language(s).

lovecreatesbeauty

Jul 13 '06 #5

lovecreatesbeauty wrote:
Tom St Denis wrote:
I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.

Do you have the book handy? Even John did not mention the contrary
language(s).
No I don't. And I suspect many others don't either.

Why don't you provide more context for the question so we can all
participate.

Tom

Jul 13 '06 #6
pemo wrote:
I *think* he means the very last bit in 'Suggested Exercises':

6.2 "Discuss the merits of the "C" as a systems programming language. What
features are missing? or superflous?"
A "with" expression like found in Turbo Pascal would seriously rock.

e.g.

struct mystruct {
int this;
char that;
void *otherthing;
};

// ... code
struct mystruct *p;

with (*p) {
this = 3;
that = 4;
otherthing = "hello world";
}

That'd rock. Specially when dealing with nested structures e.g.

p[4]->this.item[3].value = 3

with (p[4]->this.item) {
value = 3;
key = "hello";
// blah
}

Now granted you can sorta emulate this with a macro, e.g.

#define SETALL2(p, k, v, k2, v2) \
do { \
(p) . k = v; \
(p) . k2 = v2; \
} while (0);

but that's less cool.

Tom

Jul 13 '06 #7
"lovecreatesbeauty" <lo***************@gmail.comwrites:
Tom St Denis wrote:
>I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.

Do you have the book handy? Even John did not mention the contrary
language(s).
There are hundreds, probably thousands, of other programming
languages. C has advantages with respect to each of them, and
disadvantages with respect to most of them.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Jul 13 '06 #8

"Tom St Denis" <to********@gmail.comha scritto nel messaggio
news:11**********************@i42g2000cwa.googlegr oups.com...
pemo wrote:
I *think* he means the very last bit in 'Suggested Exercises':

6.2 "Discuss the merits of the "C" as a systems programming language.
What
features are missing? or superflous?"

A "with" expression like found in Turbo Pascal would seriously rock.

e.g.

struct mystruct {
int this;
char that;
void *otherthing;
};

// ... code
struct mystruct *p;

with (*p) {
this = 3;
that = 4;
otherthing = "hello world";
}

That'd rock. Specially when dealing with nested structures e.g.

p[4]->this.item[3].value = 3

with (p[4]->this.item) {
value = 3;
key = "hello";
// blah
}

Now granted you can sorta emulate this with a macro, e.g.

#define SETALL2(p, k, v, k2, v2) \
do { \
(p) . k = v; \
(p) . k2 = v2; \
} while (0);
I prefer

#define NEW_SETALL2(p, k, v, k2, v2) \
do { \
(p) . k = (v); \
(p) . k2 = (v2); \
} while (0)

without ';' and with parentheses around 'v' and 'v2'.

In this case you can use the macro as a function call

NEW_SETALL2(p,k,v,k2,v2);

Giorgio Silvestri

Jul 13 '06 #9

Keith Thompson wrote:
"lovecreatesbeauty" <lo***************@gmail.comwrites:
Tom St Denis wrote:
I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.
Do you have the book handy? Even John did not mention the contrary
language(s).

There are hundreds, probably thousands, of other programming
languages. C has advantages with respect to each of them, and
disadvantages with respect to most of them.
It means nothing, it's too abstract. Could you go to some specific
facts? Thanks for concern.

lovecreatesbeauty

Jul 13 '06 #10
On 2006-07-13, lovecreatesbeauty <lo***************@gmail.comwrote:
>
Keith Thompson wrote:
>"lovecreatesbeauty" <lo***************@gmail.comwrites:
Tom St Denis wrote:
I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.

Do you have the book handy? Even John did not mention the contrary
language(s).

There are hundreds, probably thousands, of other programming
languages. C has advantages with respect to each of them, and
disadvantages with respect to most of them.

It means nothing, it's too abstract. Could you go to some specific
facts? Thanks for concern.
Compiled =faster than interpreted
Low-level =faster than all high-level languages
Optimized(*) =faster than most all other languages
Standardized =more portable than assembly languages

But then again, it's harder to code than most languages.

* Because of how old and widely supported it is, it has had extensive
research done on optimization, more so than most any other language
out there.

--
Andrew Poelstra <http://www.wpsoftware.net/projects/>
To email me, use "apoelstra" at the above domain.
"You people hate mathematics." -- James Harris
Jul 13 '06 #11
lovecreatesbeauty (in
11*********************@35g2000cwc.googlegroups.co m) said:

| Keith Thompson wrote:
|| "lovecreatesbeauty" <lo***************@gmail.comwrites:
||| Tom St Denis wrote:
|||| I mean C lets you do manual computations easily. But so does
|||| any other language. So without a context listing possible
|||| "advantages" is a bit hard.
|||
||| Do you have the book handy? Even John did not mention the contrary
||| language(s).
||
|| There are hundreds, probably thousands, of other programming
|| languages. C has advantages with respect to each of them, and
|| disadvantages with respect to most of them.
|
| It means nothing, it's too abstract. Could you go to some specific
| facts? Thanks for concern.

C is a useful alternative to writing mountains of assembly code for
system software development. It was not (originally) intended to be
all things to all people.

If you like doing computational kinds of things, there are languages
to do that job much more rapidly and easily. I still like APL for
mathemagical stuff (but nobody likes to _read_ anyone else's APL
programs - and people who _write_ APL almost universally refuse to
produce prose documentation of what they've done.)

If all you know is C, then it becomes the limit of your programmatic
problem solving capabilities. IMO, it's an excellent solution for the
problem it was intended to solve - but if you want to solve different
kinds of problems, then consider other languages.

--
Morris Dovey
DeSoto Solar
DeSoto, Iowa USA
http://www.iedu.com/DeSoto
Jul 13 '06 #12
lovecreatesbeauty wrote:
Keith Thompson wrote:
>"lovecreatesbeauty" <lo***************@gmail.comwrites:
>>Tom St Denis wrote:
I mean C lets you do manual computations easily. But so does any other
language. So without a context listing possible "advantages" is a bit
hard.
Do you have the book handy? Even John did not mention the contrary
language(s).
There are hundreds, probably thousands, of other programming
languages. C has advantages with respect to each of them, and
disadvantages with respect to most of them.

It means nothing, it's too abstract. Could you go to some specific
facts? Thanks for concern.
Specific to what? Keith's comment is pretty clear from where I stand.
C excels at some things, and shows its age in other ways. The smart
coder uses the appropriate tool for the job. If C don't fit, don't
force it.

For specifics one has to choose a specific language to compare it with.

Here: In general, a good C compiler makes tight, fast object code that
can be portable across literally hundreds of systems. However, the
responsibility for providing implementations of complex data structures
is yours.

Now, this entire statement is flameworthy because YMMV and others may
have a different idea about what constitutes a "disadvantage".

Think up a specific context under which to compare and contrast and you
may get more satisfying answers to your queries.
Jul 13 '06 #13

Clever Monkey wrote:
C excels at some things, and shows its age in other ways. The smart
coder uses the appropriate tool for the job. If C don't fit, don't
force it.
Different C people may see part of all the exellent of C. No one knows
all, so your real C expertise and comments are welcome.
Here: In general, a good C compiler makes tight, fast object code that
can be portable across literally hundreds of systems.
Yes.
However, the
responsibility for providing implementations of complex data structures
is yours.
Yes.

lovecreatesbeauty

Jul 13 '06 #14
Andrew Poelstra wrote:
* Because of how old and widely supported it is, it has had extensive
research done on optimization, more so than most any other language
out there.
I'm not sure that's entirely correct. It's more accurate to say that C
*compilers* have had extensive research on optimization done on them. It's a
slight but not completely trivial distinction.

Many languages have *potential* for optimization that's as least as great or
greater than that of C, but the compilers for them don't bear this out, even
though optimization in general has made great strides since the early days.
C as a language does not have some sort of spectacular difference with other
languages in this regard.

That said, there are two things that are in C's favor compared to other
languages, as far as performance goes. First, for most platforms, the cost
of operations is proportional to the difficulty of using them in C (or
implementing them if they're not primitive), so programmers are forced to
pay attention to what they're doing. Second, C's focus on portability and
leaving things unsaid that don't need to be said (and, again, requiring the
programmer to cope with them) generally enables compilers to make better use
of platform primitives.

C's performance crown is tarnishing a bit, though, as a result of machines
ever getting faster and programmers ever becoming more willing and more able
to trade performance for convenience. (I merely propose this as an
observation, not to judge it either way.)

S.
Jul 14 '06 #15
av
On Thu, 13 Jul 2006 15:57:23 -0500, "Morris Dovey" wrote:
>C is a useful alternative to writing mountains of assembly code for
system software development. It was not (originally) intended to be
all things to all people.
i'm not agree; 30kb of assembly file obj
are == 1mega obj for C language and (100mega? for C# .net etc obj
file)
>If you like doing computational kinds of things, there are languages
to do that job much more rapidly and easily. I still like APL for
mathemagical stuff (but nobody likes to _read_ anyone else's APL
programs - and people who _write_ APL almost universally refuse to
produce prose documentation of what they've done.)

If all you know is C, then it becomes the limit of your programmatic
problem solving capabilities. IMO, it's an excellent solution for the
problem it was intended to solve - but if you want to solve different
kinds of problems, then consider other languages.
Jul 15 '06 #16
av
On Sat, 15 Jul 2006 06:33:33 +0200, av <av@ala.awrote:
>On Thu, 13 Jul 2006 15:57:23 -0500, "Morris Dovey" wrote:
>>C is a useful alternative to writing mountains of assembly code for
system software development. It was not (originally) intended to be
all things to all people.

i'm not agree; 30kb of assembly file obj
are == 1mega obj for C language and (100mega? for C# .net etc obj
file)
*what* a 30kb file obj result of compile from assembly code can do,
could do only a 1Mb file obj result of compile C code
if i will write 1Mb of obj file compile from assembly code it will
mean i include all algorithms that exist in that file :)
Jul 15 '06 #17
Tom St Denis wrote:
pemo wrote:
>I *think* he means the very last bit in 'Suggested Exercises':

6.2 "Discuss the merits of the "C" as a systems programming language. What
features are missing? or superflous?"

A "with" expression like found in Turbo Pascal would seriously rock.
It's pretty much redundant in C.
e.g.

struct mystruct {
int this;
char that;
void *otherthing;
};

// ... code
struct mystruct *p;

with (*p) {
this = 3;
that = 4;
otherthing = "hello world";
}

That'd rock.
The advantage over

p->this = 3; p->that = 4; p->otherthing = "hello world";

is negligable. Especailly because you /know/ which things
are in the structure and which are not, which in a Pascal-
type with you can't tell without finding the structure
definition.
Specially when dealing with nested structures e.g.

p[4]->this.item[3].value = 3

with (p[4]->this.item) {
value = 3;
key = "hello";
// blah
}
{
WhateverTypeItIs *pp = p[4]->this.item;
pp->values = 3; pp->key = "hello"; blah();
}
Now granted you can sorta emulate this with a macro, e.g.

#define SETALL2(p, k, v, k2, v2) \
do { \
(p) . k = v; \
(p) . k2 = v2; \
} while (0);

but that's less cool.
Not so much less cool, as not even on a thermal scale.

--
Chris "with-hater since 1980ish" Dollin
A rock is not a fact. A rock is a rock.

Jul 17 '06 #18
Chris Dollin wrote:
A "with" expression like found in Turbo Pascal would seriously rock.

It's pretty much redundant in C.
Not really. Yeah you can work around it but it would be cooler if it
was a native function of the language. It would integrate well I think
as you'd just have scoping rules. E.g. variables in the struct/union
that you with'ed would take precedence over stuff external, e.g.

int this;
with (mystruct) { this = 4; }

Modifies the "this" in the struct. You'd have to be able to nest it
too...
The advantage over

p->this = 3; p->that = 4; p->otherthing = "hello world";

is negligable. Especailly because you /know/ which things
are in the structure and which are not, which in a Pascal-
type with you can't tell without finding the structure
definition.
yeah but if you see

somefile.c line 1033

p->npny = cba(SOME_VALUE);

Or someshit which is common in coporate code you still have to read the
headers to decipher wtf "npny" is and what else *p contains.
{
WhateverTypeItIs *pp = p[4]->this.item;
pp->values = 3; pp->key = "hello"; blah();
}
Yeah, that's clearly so much simpler. :-)
Not so much less cool, as not even on a thermal scale.
Chris "with-hater since 1980ish" Dollin
Hmm ... right.

Anyways, given that I've been coding/developing in C for a while I too
know how to work around that and make it all maintainable. I'm just
answering the OPs question. If you were to add something to C, I think
with would be a cool thing to add.

Tom

Jul 17 '06 #19
Morris Dovey (in hy***************@news.uswest.net) said:

| lovecreatesbeauty (in
| 11*********************@35g2000cwc.googlegroups.co m) said:
|
|| Keith Thompson wrote:
||| "lovecreatesbeauty" <lo***************@gmail.comwrites:
|||| Tom St Denis wrote:
||||| I mean C lets you do manual computations easily. But so does
||||| any other language. So without a context listing possible
||||| "advantages" is a bit hard.
||||
|||| Do you have the book handy? Even John did not mention the
|||| contrary language(s).
|||
||| There are hundreds, probably thousands, of other programming
||| languages. C has advantages with respect to each of them, and
||| disadvantages with respect to most of them.
||
|| It means nothing, it's too abstract. Could you go to some specific
|| facts? Thanks for concern.
|
| C is a useful alternative to writing mountains of assembly code for
| system software development. It was not (originally) intended to be
| all things to all people.

This past weekend I was digging through an old BNF compiler program
and it occurred to me that there are probably an increasing number of
programmers who've never done any actual assembly language
programming. Just to provide the non-assembly folks with an historical
glimpse, I snipped out a tiny piece of code (output an 8-bit byte to a
disk buffer and write the buffer when full), expanded the tabs with
spaces, and saved it at the link below.

The environment was CP/M running on a Z80 microprocesor. The
commenting was so that I could pick up the code (even a quarter
century later!) and make sense of what I'd done. The function is
sufficiently common and straightforeward - and the comments are
sufficiently complete - that almost anyone should be able to follow
the logic.

To add a bit more perspective, the complete program listing was about
60 pages long. Portability would be a serious problem.

--
Morris Dovey
DeSoto Solar
DeSoto, Iowa USA
http://www.iedu.com/mrd/c/PCHR.ASM
Jul 17 '06 #20
Tom St Denis wrote:
Chris Dollin wrote:
A "with" expression like found in Turbo Pascal would seriously rock.

It's pretty much redundant in C.

Not really.
Yes, really. `with` is a /pain/; local alias declarations (which is
what you can easily construct in C, even if it's a bit clunky) are
more general and more useful.
Yeah you can work around it but it would be cooler if it
was a native function of the language. It would integrate well I think
as you'd just have scoping rules. E.g. variables in the struct/union
that you with'ed would take precedence over stuff external, e.g.

int this;
with (mystruct) { this = 4; }

Modifies the "this" in the struct. You'd have to be able to nest it
too...
Yes, I know all that. Here is my opinion:

It's not worth it.

It makes the code harder to read (because, inside the body, you
/don't know/ if an identifier refers to a record component or
not). It doesn't nest. If you make provision for nesting, you
end up wanting names for the different nests - at which point,
you've reinvented local alias declarations.
>The advantage over

p->this = 3; p->that = 4; p->otherthing = "hello world";

is negligable. Especailly because you /know/ which things
are in the structure and which are not, which in a Pascal-
type with you can't tell without finding the structure
definition.

yeah but if you see

somefile.c line 1033

p->npny = cba(SOME_VALUE);

Or someshit which is common in coporate code you still have to read the
headers to decipher wtf "npny" is and what else *p contains.
`with` doesn't help either.
> {
WhateverTypeItIs *pp = p[4]->this.item;
pp->values = 3; pp->key = "hello"; blah();
}

Yeah, that's clearly so much simpler. :-)
It's /available/. Now.

Now, if what you are wanting is something like:

with <declaration sequencedo <statement>;

I'd be with you. Of course in C99 you just do:

<declaration sequence>
<statement>

[fiddle with scopes if necessary], ie, the code above becomes:

WhateverTypeItIs *pp = p[4]->this.item;
pp->values = 3; pp->key = "hello"; blah();

which is pretty much the same as your `with`, but now there's
no special dinking around with scopes.
>Not so much less cool, as not even on a thermal scale.
Chris "with-hater since 1980ish" Dollin

Hmm ... right.
Anyways, given that I've been coding/developing in C for a while I too
know how to work around that and make it all maintainable. I'm just
answering the OPs question. If you were to add something to C, I think
with would be a cool thing to add.
If you were to add something to C, there are /lots/ of things that
would be more useful.

--
Chris "ROI" Dollin
"I'm still here and I'm holding the answers" - Karnataka, /Love and Affection/

Jul 17 '06 #21
Chris Dollin wrote:
Modifies the "this" in the struct. You'd have to be able to nest it
too...

Yes, I know all that. Here is my opinion:

It's not worth it.

It makes the code harder to read (because, inside the body, you
/don't know/ if an identifier refers to a record component or
not). It doesn't nest. If you make provision for nesting, you
end up wanting names for the different nests - at which point,
you've reinvented local alias declarations.
Ok change it so you have to use a . prefix.

e.g.

with (that) { .this = 3; .somethingelse = 4; }

Eitherway it was a "what if" question. Sit down, stop the temper
tantrum and just say "how quaint."

Tom

Jul 17 '06 #22
Tom St Denis wrote:
Chris Dollin wrote:
Modifies the "this" in the struct. You'd have to be able to nest it
too...

Yes, I know all that. Here is my opinion:

It's not worth it.

It makes the code harder to read (because, inside the body, you
/don't know/ if an identifier refers to a record component or
not). It doesn't nest. If you make provision for nesting, you
end up wanting names for the different nests - at which point,
you've reinvented local alias declarations.

Ok change it so you have to use a . prefix.
No, thank you: that's just introducing an opportunity for error
(since `.` already has a meaning). It also doesn't solve the
nesting problem (unless one uses . and .. and ... ...!)

Using declared names solves the original problem (terser references
to items inside structures), is already available, and is (IMAO)
clearer.
Eitherway it was a "what if" question. Sit down, stop the temper
tantrum
There is no tantrum here.
and just say "how quaint."
"Quaint" is not the adjective I'd choose.

--
Chris "!" Dollin
"No-one here is exactly what he appears." G'kar, /Babylon 5/

Jul 18 '06 #23

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

Similar topics

10
by: fabio de francesco | last post by:
Hi what do you think of the following? Why are we permitted to do that? And why the C++ Library doesn't stop someone willing to perfom that assignement (*a = 20)? #include <iostream> ...
4
by: Stephen Poley | last post by:
I have a pair of tables (Applicaties en Releases) in a 1-to-N relation. I created and tested a report based on Applicaties. I then added a subreport based on Releases using the wizard. This...
55
by: AnandaSim | last post by:
I just had a google through this NG but have not seen mention of Erik Rucker's blog entry and the new Jet: http://blogs.msdn.com/access/archive/2005/10/05/477549.aspx mentioned by Mike...
11
by: Russ | last post by:
My web app writes some binary data to a file at the client site via Response.Write and Response.BinaryWrite. This action is accomplished in response to a button click, with C# code behind as...
59
by: Alan Silver | last post by:
Hello, This is NOT a troll, it's a genuine question. Please read right through to see why. I have been using Vusual Basic and Classic ASP for some years, and have now started looking at...
23
by: Dennis Sjogren | last post by:
Hi! I have this medium sized solution with a couple of projects and stuff. The generated application has an <appname>.exe.manifest file to enable XP themes. In the main window of the application...
24
by: David Mathog | last post by:
On a Solaris 8 system if a user "joe" logs in, for instance via ssh, cuserid() returns "joe". That's the expected behavior and so far so good. However if that user then does: % su - sally ...
13
by: lithoman | last post by:
I'm stumped here. I run the procedure Batch_Select against the database with @ID=18 and I get the expected data. When it loads into a SqlDataReader, it gets messed up somehow. Initially, after the...
10
by: Hendri Adriaens | last post by:
Hi, I'm trying to automate the creation of an excel file via COM. I copied my code below. I read many articles about how to release the COM objects that I create. The code below runs just fine...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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
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...
0
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
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...

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.