What are popular SDKs used among software companies?
I know this is a rather offbeat question, but I've always wondered if commercial software companies (Sony, Adobe, etc.) use SDKs to build their applications or do they build from the ground up? I know some freeware apps, like Paint .NET are programmed in an SDK, but what about Adobe Photoshop? Sony Vegas? What development enviorment do big companies use? Could someone please shed some light on this topic for me?
Re: What are popular SDKs used among software companies?
An SDK normally applies to a platform. Examples include Windows, or a given smart peripheral device, or an external software service. SDKs usually contain documentation, sample source code, libraries, compilers and related low-level development tools, or some combination of those.
So to program for Windows you might use the Windows SDK and a USB weather instrument device's SDK, etc.
I think you are confusing the term SDK with "framework" or "development system" or something.
The Windows SDK contains a lot of .Net junk these days, but it doesn't include an IDE. That's an extra unless you want to do everything in Notepad and run a lot of the small utilities by hand. Then you need some Edition of Visual Studio or a 3rd party IDE.
Hint: Based on your question you might want to know .Net isn't used to build any of the things you mentioned (except Paint.Net). They either use Microsoft's C and C++ compilers with Visual Studio or else a 3rd party suite like Intel's or Borland/Embarcadero's or a GCC toolchain. The majority of successful commercial software products are written in native code C or C++ these days. Java might come in second.
.Net languages are most popular for writing one-off software used in house or built for one customer. .Net may even have surpassed Java here, and of course the previous champion (classic VB) has been orphaned and thus is very marginalized now.
Re: What are popular SDKs used among software companies?
Thanks for your response:) Yeah, I was thinking of IDE. Got confused. So do software giants use C, C++ as opposed to .NET languages because they are more powerful or because the .NET languages are fairly young and not widespread yet? I was reading C++ vs. .NET reviews online and many agreed that C++ may become obsolete eventually...
Re: What are popular SDKs used among software companies?
Yea, I also think C/C++ will become obsolete and ironically, one of the only remaining uses for c will be developing the .net framework.
Re: What are popular SDKs used among software companies?
Quote:
Originally Posted by
dilettante
An SDK normally applies to a platform. Examples include Windows, or a given smart peripheral device, or an external software service. SDKs usually contain documentation, sample source code, libraries, compilers and related low-level development tools, or some combination of those.
So to program for Windows you might use the Windows SDK and a USB weather instrument device's SDK, etc.
I think you are confusing the term SDK with "framework" or "development system" or something.
The Windows SDK contains a lot of .Net junk these days, but it doesn't include an IDE. That's an extra unless you want to do everything in Notepad and run a lot of the small utilities by hand. Then you need some Edition of Visual Studio or a 3rd party IDE.
Hint: Based on your question you might want to know .Net isn't used to build any of the things you mentioned (except Paint.Net). They either use Microsoft's C and C++ compilers with Visual Studio or else a 3rd party suite like Intel's or Borland/Embarcadero's or a GCC toolchain. The majority of successful commercial software products are written in native code C or C++ these days. Java might come in second.
.Net languages are most popular for writing one-off software used in house or built for one customer. .Net may even have surpassed Java here, and of course the previous champion (classic VB) has been orphaned and thus is very marginalized now.
I just noticed though that according to Sony's website Vegas requires the .NET framework to run. How do these companies create GUIs? From scratch? It's so difficult to program an interface in raw C++, why wouldnt they want to use VS or xCode to develop? Why do they do things the hard way?
Re: What are popular SDKs used among software companies?
You do things the hard way to "own" them - the only way to truly leverage a technology is to fully own it - not as in "property ownership" - but as in controlling how you interact with it.
The Sony Vegas UI is all about how to "deliver" this really cool video editing experience to a user.
The editing experience is the driver here - the UI unfortunately is secondary. When I used Vegas in the past I recall thinking that they had really strong functionality but lacked having people on board who could really deliver that "intutively" to the users. I'm a tech user - so I could care less about "user-friendly" myself...
Vegas also installs MS SQL Express - so the clips and what not can be stored in a DB instead of the file system...
But........
Whenever you launch a new concept you have to architect it with the technologies that are strong at that moment. Currently I use jQuery and a browser window as my UI. I suffer the "lowest common denominator" for the end-user "access point" so that I can reach the "most users".
I still code my backend webservices in VB.net :)
Re: What are popular SDKs used among software companies?
Seems incredible to me that Sony Vegas would use .Net at all. SQL Server Express is another point of alarm, but that may be why .Net is needed. There's another piece of bloated software that eats RAM and cycles just sitting there.
Are they nuts or what? Video editing and encoding puts enough of a strain on your hardware without stuff like that. I seriously doubt clips actually store in the database though: it can only hold 4GB including index data, metadata, etc.
1 Attachment(s)
Re: What are popular SDKs used among software companies?
I did not mean they loaded raw footage files into the DB - clips are logical, not physical.
You don't end up with tons of little JPG and AVI and MPEG files for each clip you fit into the timeline...
It starts up a SONY_MEDIAMGR service and has tables for tracking the info on the raw footage and then somehow they obviously use the PK's of these rows to assemble the "logical" clip moments into the final product.
Vegas can be used in a multi-user and/or multi-workstation setup - using SQL must have seemed to make sense to them...
1 Attachment(s)
Re: What are popular SDKs used among software companies?
Here is what the vegas UI looks like
Re: What are popular SDKs used among software companies?
Quote:
Originally Posted by
RadXPictures
I just noticed though that according to Sony's website Vegas requires the .NET framework to run. How do these companies create GUIs? From scratch? It's so difficult to program an interface in raw C++, why wouldnt they want to use VS or xCode to develop? Why do they do things the hard way?
Again, Visual Studio and xCode are IDEs, not frameworks. And what makes you think they don't use an IDE? Visual Studio supports C++ programming and has before there ever was a .Net to consider.
As I already mentioned, the .Net requirement is probably because they chose to use SQL Server Express. Even then the DBMS doesn't use it internally, but optionally supports user-written .Net code that it can run (just like T-SQL stored procedures and VBScript) because it embeds the CLR ("CLR Integration") if you turn the option on.
We're going in circles people.