473,769 Members | 5,570 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why doesn't C# allow incremental compilation like Java?

Why doesn't C# allow incremental compilation like Java?

Specifically, in Java I can compile single .java files in isolation.
The resulting individual .class files can be grouped into .jar files.

In C#, there appears to be no analog. I have to compile all my .cs
files into a single .dll.

This has serious drawbacks in terms of compilation. With Eclipse, I
change a file and only that file is re-compiled. With Visual Studio, I
change a file and have to manually re-compile, which may take 10+
seconds for large projects (even if all I did was add a space to a
comment).

Why was this design decision made? And is there any way to speed up
Visual Studio 2005 C# compilation? Are there plans to have background
compilation in future versions of Visual Studio?

Thanks.

Apr 20 '07
35 3052
Ravichandran J.V. <jv************ @yahoo.comwrote :
VS, incidentally, happened to be the first ide to provide for
incremental build/compilation.
Do you have a reference for that, out of interest? I'm sure it was long
before Java and .NET were on the scene, but it would be interesting to
know the history of incremental compilation.
It is still considered the more robust,
despite the many fans of Eclipse, ide doing the rounds.
Considered more robust by who, exactly? You may consider it more
robust, I consider it less robust (and less useful) - just two
opinions. Or do you have a decent poll available? Note that a lot of
people will say that one IDE is better than another without even using
both, unfortunately. (I try to avoid comparisons with JetBrains' IDEA,
not having used it much - but I've heard *great* things abobut it.)
Here is a comparison. I have personally sat through two hours of
distributed build using Xcode! This build targeted the Mac, with the UB
as the output. The same lines of code in VS (2003) took just under 30
minutes for the Windows platform.
What has that got to do with Eclipse's performance?
To cite Eclipse' performance, Eclipse is a far lighter software than VS
and hence, it can show up faster performance.
Far lighter? In what way? It doesn't have a load of designers etc out
of the box - but it *does* have more features in the text editor than
VS does, even in 2005. It had refactoring *ages* before VS did, along
with built-in unit testing, better source control support etc.

If you want designers, there are plenty of plugins available...
True, on Vs 2005, I seemed to *feel* the lack of speed compared to VS
2005 as you would if you use Word 2007 and save a file. It takes
considerably longer time in 2007 than 2003.
There's no question of "feeling" in this case. Saving/compiling on
Eclipse usually takes well under a second. Recompiling even a
relatively small solution in VS.NET can easily take 15 seconds.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Apr 24 '07 #11
On Tue, 24 Apr 2007 07:33:12 +0100, Jon Skeet [C# MVP]
<sk***@pobox.co mwrote:
>There's no question of "feeling" in this case. Saving/compiling on
Eclipse usually takes well under a second. Recompiling even a
relatively small solution in VS.NET can easily take 15 seconds.
It's hard to compare build times without knowing how big a solution
is, but if even a "relatively small" solution takes 15 seconds to
build on your machine... you really should get rid of that old 486! :)

Building close to 50,000 lines of C# code (pure code lines, excluding
empty lines and comments, as per DPack solution statistics) spread
across 9 assemblies takes less than six seconds on my system, after
warming up. There are also over 50,000 lines of XML comments being
syntax-checked and extracted to XML files during compilation. That's
the full build which only occurs if I change a file in the assembly at
the root of the dependency tree; compiling a leaf assembly with about
7,000 code lines takes less than two seconds.

That's on a Core 2 Duo E6600 system with 3 GB RAM and a 10,000 RPM
SCSI-160 drive which admittedly is pretty powerful, but build times
were still only around 10 seconds with my old P4 3.2 GHz system.

Now that doesn't excuse VS2005 being much slower than Eclipse but it's
not a delay that would ever prevent me from building while coding.
Unless of course you'd qualify a combined 100,000 non-empty line count
as a "relatively tiny" solution, and yours has a few million lines. :)
--
http://www.kynosarges.de
Apr 24 '07 #12
On Apr 23, 2:27 am, Jon Skeet [C# MVP] <s...@pobox.com wrote:
I find it hard to believe that build time should really be a problem.

I find it a problem - at least compared with using Eclipse in Java.
That builds every time you save, and has a sufficiently nippy
incremental compiler that it encourages you to save (and therefore
compile) often. I find this very helpful compared with the VS model,
where you can't build as often because the build takes significantly
longer. (Even if it's only 15 seconds, that's reasonably significant.)
I think you're in a minority then. Personally, I'm not compiling
after every single change I make to a single file. I work in multiple
files to get a unit of work done, and compile that. Even still, my
library assemblies don't take anywhere near 15 seconds, although my UI
assembly with lots of forms takes about that long..
Part of that is due to assemblies being single files (which is
brilliant in many other ways) but I suspect VS could still do a better
job at incremental compilation. It would probably have to have its own
compiler (just as VS does for Java) which makes life trickier though. I
occasionally run into problems where Eclipse's internal compiler is
pickier than the JDK or vice versa.
VS assumes you want to build the entire project. There really isn't
much of a point in building a single file; you can't do anything with
the result of that, except to link it either other modules to form the
assembly. VS 2005 doesn't suffer the problems you mention for
esclipse, because it uses the same compiler that you would outside the
IDE (MSbuild, which in turn uses csc). Assemblies in .Net don't
contain self contained classes; usually the classes depend on each
other, and i imagine that's the case in java as well.
If you want maximum control over the build, then use NAnt.

That doesn't help the development time though.
Then stop compiling every change to a file. Why would you even bother
recompiling after putting some whitespace into a comment?

Apr 24 '07 #13
On Apr 23, 3:30 pm, Jon Skeet [C# MVP] <s...@pobox.com wrote:
Paul Werkowitz <newsgro...@pri maprogramm.dewr ote:
You don't *have* to create jar files in order to run the code - and you
don't *have* to run the code to benefit from compilation.
But you still can't run without the other files compiled, am I right?
Using Eclipse, I know that when I save, *all* compile-time errors will
be displayed, and very quickly. I know that these days IDEs tend to
display errors as you type, but I don't believe they find *all* errors
that way (at least in C# - VB.NET may be different).
I suggest moving to Vb.Ne then, as you will have that feature there,
although I must say this doesn't really come up much because of
Intellisense.
Further, I can then run unit tests or even run the app in the debugger
without packaging it into jar files. I tend to run the unit tests far
more often than I package the code up.
Does it make sense to run a test when some of the modules may not have
been built?
When a compile/launch unit tests/check results cycle is seconds rather
than half a minute, it encourages TDD far more.
How? What is the point of testing each single line change? Running
tests too often is just a waste of time. Most of the changes I need
to make are not trivial that I can code it in a few seconds and then
be ready to test it. The coding takes far longer than the compilation
time.
However, I suspect it still doesn't do the incremental compilation as
well as Eclipse does. At least, I haven't seen any evidence of that -
and of course it's a complete pain to set that up for every file.
So what? Again, if its that important to you, go to Vb.Net. Vb.Net
supports background compilation.
The size of the compilation unit is irrelevant if VS is recompiling all
the files. The question is whether it does - but as the C# compiler had
the /incremental option removed for VS2005, I suspect that it *does*
recompile all files, at least in projects where it's detected there are
changes (and possibly all dependent projects).
Thats not true at all. The more files you have, and the more code in
them, the longer it will take to compile. Dependant projects need to
be recompiled when their dependancy changes. Perhaps you are stuffing
too much into one assembly, or you simply have a slow machine.
Certainly my experience is that building with VS.NET is *considerably*
slower than building comparably sized projects in Eclipse.
So what?

Apr 24 '07 #14
On Apr 24, 2:01 pm, Andy <a...@med-associates.comw rote:
Paul Werkowitz <newsgro...@pri maprogramm.dewr ote:
You don't *have* to create jar files in order to run the code - and you
don't *have* to run the code to benefit from compilation.

But you still can't run without the other files compiled, am I right?
The point is that by keeping each class in its own file, you only need
to touch the files which have changed and any dependencies. You don't
need to rebuild the larger jar files - whereas you *do* have to build
the full assembly in .NET. (Yes, using modules would help this, but
it's a pain.)
Using Eclipse, I know that when I save, *all* compile-time errors will
be displayed, and very quickly. I know that these days IDEs tend to
display errors as you type, but I don't believe they find *all* errors
that way (at least in C# - VB.NET may be different).

I suggest moving to Vb.Ne then, as you will have that feature there,
although I must say this doesn't really come up much because of
Intellisense.
I gather it slows things down significantly with larger projects
though - or at least did at one point. Either way, there's a
psychological difference between "I'll trust that the as-you-type
compiler has spotted all the errors" and "The code is actually built
and can be run, and I have no errors".
Further, I can then run unit tests or even run the app in the debugger
without packaging it into jar files. I tend to run the unit tests far
more often than I package the code up.

Does it make sense to run a test when some of the modules may not have
been built?
Everything *will* have been built though. That's the point - it's
incremental.
(Actually, Eclipse will let you run code even if you've still got
compilation errors - you'll get a runtime error when you enter the
method or type that failed to compile. It warns you on launch, of
course.)
When a compile/launch unit tests/check results cycle is seconds rather
than half a minute, it encourages TDD far more.

How? What is the point of testing each single line change? Running
tests too often is just a waste of time. Most of the changes I need
to make are not trivial that I can code it in a few seconds and then
be ready to test it. The coding takes far longer than the compilation
time.
I don't necessarily test every single line change, but I try to test
every functional change - and rerunning the unit tests very frequently
helps with that.

TDD is all about making small changes and making sure they work. If
you're not a TDD fan, fine - but please don't assume that just because
a relatively slow compile cycle doesn't hurt *your* productivity, it
doesn't hurt that of other people.
However, I suspect it still doesn't do the incremental compilation as
well as Eclipse does. At least, I haven't seen any evidence of that -
and of course it's a complete pain to set that up for every file.

So what? Again, if its that important to you, go to Vb.Net. Vb.Net
supports background compilation.
Actual background compilation, or just background error checking?
There's a big difference between the two. (Besides, I far prefer the
C# language to VB.NET.)
The size of the compilation unit is irrelevant if VS is recompiling all
the files. The question is whether it does - but as the C# compiler had
the /incremental option removed for VS2005, I suspect that it *does*
recompile all files, at least in projects where it's detected there are
changes (and possibly all dependent projects).

Thats not true at all. The more files you have, and the more code in
them, the longer it will take to compile.
That's because it's not an incremental compiler, as I say. In Eclipse,
if I change one method, even in a *giant* class, IIRC only that method
will actually be recompiled (and the whole class file regenerated). If
I change the method signature, other things which depend on it will be
recompiled. It doesn't need to recompile whole projects - only
dependencies.
Dependant projects need to
be recompiled when their dependancy changes. Perhaps you are stuffing
too much into one assembly, or you simply have a slow machine.
My machine is reasonably nippy, but it still takes 10 seconds to
compile the solution I'm largely working with at the moment.
Certainly my experience is that building with VS.NET is *considerably*
slower than building comparably sized projects in Eclipse.

So what?
So it's a pain in the neck, particularly for TDD developers. Have you
used Eclipse for significant projects? It's sometimes hard to
appreciate what a difference such features can make without having
experienced them for yourself.

I often talk about features like "Open Type" in Eclipse, and people
who haven't used Eclipse say they can easily live without it. I
haven't yet met anyone who *has* used Eclipse for significant periods
who doesn't agree that it would be a *huge* benefit to have in VS2005.
(Fortunately, ReSharper provides it. Shame it's not in VS itself
though.)

Jon

Apr 24 '07 #15
Andy <an***@med-associates.comw rote:
I find it a problem - at least compared with using Eclipse in Java.
That builds every time you save, and has a sufficiently nippy
incremental compiler that it encourages you to save (and therefore
compile) often. I find this very helpful compared with the VS model,
where you can't build as often because the build takes significantly
longer. (Even if it's only 15 seconds, that's reasonably significant.)

I think you're in a minority then. Personally, I'm not compiling
after every single change I make to a single file. I work in multiple
files to get a unit of work done, and compile that. Even still, my
library assemblies don't take anywhere near 15 seconds, although my UI
assembly with lots of forms takes about that long..
I suspect I'm in the minority because most people don't practise TDD,
and most people don't realise how lovely it is not to have to wait for
a compiler.
Part of that is due to assemblies being single files (which is
brilliant in many other ways) but I suspect VS could still do a better
job at incremental compilation. It would probably have to have its own
compiler (just as VS does for Java) which makes life trickier though. I
occasionally run into problems where Eclipse's internal compiler is
pickier than the JDK or vice versa.

VS assumes you want to build the entire project. There really isn't
much of a point in building a single file; you can't do anything with
the result of that, except to link it either other modules to form the
assembly. VS 2005 doesn't suffer the problems you mention for
esclipse, because it uses the same compiler that you would outside the
IDE (MSbuild, which in turn uses csc).
Indeed - although I should stress that it's only been an issue on a
couple of occasions, and of course we run the unit tests on the JDK-
built classes as well, when we build the jar files.
Assemblies in .Net don't
contain self contained classes; usually the classes depend on each
other, and i imagine that's the case in java as well.
You've misunderstood what Eclipse does. When the save has finished, all
the classes have been compiled. However, they're still individual class
files (which makes them easy to write individually, of course). They
can still be run in that form - that's the difference between .NET and
Java. In Java although you *can* bundle classes together, you don't
have to.
If you want maximum control over the build, then use NAnt.
That doesn't help the development time though.

Then stop compiling every change to a file. Why would you even bother
recompiling after putting some whitespace into a comment?
I don't think I ever suggested that I'd recompile after changes quite
that minor (although as it's so cheap, you might as well save, and that
happens to compile). I still recompile very often (in Eclipse) though -
partly because of TDD, and partly because it just gives a warm fuzzy
feeling to *know* that you've got no compilation errors, because
everything *has* been compiled.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Apr 24 '07 #16
On Apr 24, 10:49 am, Jon Skeet [C# MVP] <s...@pobox.com wrote:
I think you're in a minority then. Personally, I'm not compiling
after every single change I make to a single file. I work in multiple
files to get a unit of work done, and compile that. Even still, my
library assemblies don't take anywhere near 15 seconds, although my UI
assembly with lots of forms takes about that long..

I suspect I'm in the minority because most people don't practise TDD,
and most people don't realise how lovely it is not to have to wait for
a compiler.
Well, you're not a minority of one, anyway. I have come to enjoy
automatic compile.
We don't practice TDD where I work, unfortunately, but I like being
able to launch
the GUI, test, and make changes, and test without having to relaunch
the GUI (and
login again, go to the proper spot, find the correct data, ad nausem).
I was rebuilding
the project when I first started, then a coworker pointed out I didn't
need to.

---snip---
--
Jon Skeet - <s...@pobox.com >http://www.pobox.com/~skeet Blog:http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Tim Madden

Apr 26 '07 #17
On Apr 24, 12:33 am, Jon Skeet [C# MVP] <s...@pobox.com wrote:
Ravichandran J.V. <jvravichand... @yahoo.comwrote :
VS, incidentally, happened to be the first ide to provide for
incremental build/compilation.

Do you have a reference for that, out of interest? I'm sure it was long
before Java and .NET were on the scene, but it would be interesting to
know the history of incremental compilation.
I don't have a reference, but 'Edit and Continue' mode was in VS 6.
--snip--
True, on Vs 2005, I seemed to *feel* the lack of speed compared to VS
2005 as you would if you use Word 2007 and save a file. It takes
considerably longer time in 2007 than 2003.

There's no question of "feeling" in this case. Saving/compiling on
Eclipse usually takes well under a second. Recompiling even a
relatively small solution in VS.NET can easily take 15 seconds.
Mine are usually 5-10 seconds, but if you use TDD even that gets old
fast.
--
Jon Skeet - <s...@pobox.com >http://www.pobox.com/~skeet Blog:http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Tim Madden

Apr 26 '07 #18
tj**********@gm ail.com <tj**********@g mail.comwrote:
On Apr 24, 10:49 am, Jon Skeet [C# MVP] <s...@pobox.com wrote:
I think you're in a minority then. Personally, I'm not compiling
after every single change I make to a single file. I work in multiple
files to get a unit of work done, and compile that. Even still, my
library assemblies don't take anywhere near 15 seconds, although my UI
assembly with lots of forms takes about that long..
I suspect I'm in the minority because most people don't practise TDD,
and most people don't realise how lovely it is not to have to wait for
a compiler.
Well, you're not a minority of one, anyway. I have come to enjoy
automatic compile.
We don't practice TDD where I work, unfortunately, but I like being
able to launch the GUI, test, and make changes, and test without having
to relaunch the GUI (and login again, go to the proper spot, find the
correct data, ad nausem). I was rebuilding
the project when I first started, then a coworker pointed out I didn't
need to.
That's a slightly different feature - edit and continue - which I'm
actually *not* so keen on. (I believe it encourages a "tinker until it
looks like it works" approach, which doesn't prove that it would have
worked if you'd started from scratch. Unit testing gives a better
solution to this IMO. Edit and continue is useful for getting UIs to
look right though, I'll readily admit that.)

Edit and continue is a very different feature to incremental
compilation - it's perfectly possible to have incremental compilation
without E&C, although I guess the other way round is pretty tricky.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Apr 26 '07 #19
On Apr 24, 12:04 pm, "Jon Skeet [C# MVP]" <s...@pobox.com wrote:
The point is that by keeping each class in its own file, you only need
to touch the files which have changed and any dependencies. You don't
need to rebuild the larger jar files - whereas you *do* have to build
the full assembly in .NET. (Yes, using modules would help this, but
it's a pain.)
Ok, but I haven't had .Net project compiles take a huge amount of
time.
I gather it slows things down significantly with larger projects
though - or at least did at one point. Either way, there's a
psychological difference between "I'll trust that the as-you-type
compiler has spotted all the errors" and "The code is actually built
and can be run, and I have no errors".
Are you talking about intellisense or the Vb.Net background compiler?
The former seems to eliminate 99% of compile errors to me. I haven't
used the latter, but I understand it DOES compile using vbc as you
type.
Everything *will* have been built though. That's the point - it's
incremental.
(Actually, Eclipse will let you run code even if you've still got
compilation errors - you'll get a runtime error when you enter the
method or type that failed to compile. It warns you on launch, of
course.)
I see. I'm not sure that running a program even with compile errors
is useful though.
I don't necessarily test every single line change, but I try to test
every functional change - and rerunning the unit tests very frequently
helps with that.
As do I. I typically have to wait longer for NUnit to reload the
assemblies than I do for the compiler though.
TDD is all about making small changes and making sure they work. If
you're not a TDD fan, fine - but please don't assume that just because
a relatively slow compile cycle doesn't hurt *your* productivity, it
doesn't hurt that of other people.
Actually I do like TDD; its just that VS lacking background /
incremental hasn't made an impact on how often I can test.
Actual background compilation, or just background error checking?
There's a big difference between the two. (Besides, I far prefer the
C# language to VB.NET.)
>From what I understand, actual background compilation, as many
Vb.Netters complain that things like invalid casts aren't caught in C#
until they compile, but Vb.Net catches all these errors almost
immediately. I can't fault you for perfering C# over Vb though. :-)
FWIW, I have heard that the Orcas will support C# background
compilation ala Vb.Net.
That's because it's not an incremental compiler, as I say. In Eclipse,
if I change one method, even in a *giant* class, IIRC only that method
will actually be recompiled (and the whole class file regenerated). If
I change the method signature, other things which depend on it will be
recompiled. It doesn't need to recompile whole projects - only
dependencies.
Understood, but again, I haven't seen many places where compiling
takes all that long at all. 1 - 2 seconds is typical, except for my
forms application, but that's also adding in resources and such.
My machine is reasonably nippy, but it still takes 10 seconds to
compile the solution I'm largely working with at the moment.
A forms application or straight class library? My forms application
takes a bit of time, mostly because of all the resources which get
embedded. Of course I'm planning on moving most of the forms to
library assemblies though, both to speed project compile time and
speed the loading of my application.
So it's a pain in the neck, particularly for TDD developers. Have you
used Eclipse for significant projects? It's sometimes hard to
appreciate what a difference such features can make without having
experienced them for yourself.
I haven't noticed a problem in the teams I've been in (solo now
though). I haven't used Eclipse, but I have used IDEs which do
incremental compiling. If the Orcas will have background compilation
for C# as I've heard, I guess I'll see then if it makes a difference.
I often talk about features like "Open Type" in Eclipse, and people
who haven't used Eclipse say they can easily live without it. I
haven't yet met anyone who *has* used Eclipse for significant periods
who doesn't agree that it would be a *huge* benefit to have in VS2005.
(Fortunately, ReSharper provides it. Shame it's not in VS itself
though.)
I haven't used resharper yet, although I understand how much of a
benefit that functionality will provide. I'm hoping to purchase
Resharper soon.

Apr 26 '07 #20

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

Similar topics

1
2235
by: jane | last post by:
HI, I had a question on incremental backup. We had an incremental backup every weekend. We did full backup every other week. That is one week incremental + full , the other week is incremental only. My question is for the first weekend incremental backup, it took for example 1h, but the second weekend incremental took almost 3 hours. It seems always this way, so I suppose it is not related to the data change. And we almost had some...
12
5378
by: Rhino | last post by:
I am having an odd problem: the sqlj command on my system doesn't work. I am running DB2 (LUW) V8 (FP8) on WinXP. I haven't done an sqlj program since Version 6 of DB2 (LUW) so I checked the manuals for the proper techniques to prepare an sqlj program. When I went to try the sqlj command, I got this: Exception in thread "main" java.lang.NoClassDefFoundError: sqlj/tools/Sqlj
149
25207
by: Christopher Benson-Manica | last post by:
(Followups set to comp.std.c. Apologies if the crosspost is unwelcome.) strchr() is to strrchr() as strstr() is to strrstr(), but strrstr() isn't part of the standard. Why not? -- Christopher Benson-Manica | I *should* know what I'm talking about - if I ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
0
1674
by: Rudy Ray Moore | last post by:
I've been having trouble getting incremental linking to work under Visual C++ .net 2003 7.1 for my multi-project workspace. Ronald Laeremans and Carl Daniel (and a few others) helped me figure it out. Short answer: I should never have expected incremental linking to work. Short answer addendum: Linking is slower in 7.1/.net/2003 than VC++6. ===
8
2490
by: Bern McCarty | last post by:
We have a large mixed dll that I can never seem to get to link incrementally. Below is the console output. For simplicity I've eliminated some stuff that we normally do when we really link this dll like manifest embedding and strong name delay signing. Can anyone see anything wrong with my link command? Or offer some other explanation why I can never get an incremental link out of it? To test, I'm just touching one of the source files so...
0
9589
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10219
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10049
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9865
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5310
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5448
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3967
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 we have to send another system
2
3567
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.