Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

.NET Forum


You are currently viewing our .NET Forum as a guest. Please register to participate.
Login



Reply
What's the big picture?
Old 06-03-2008, 09:38 PM What's the big picture?
starsystemx's Avatar
Junior Talker

Posts: 1
Name: Michael Hensch
Trades: 0
I have some extensive scripting experience with OpenVMS, a wee bit of Linux scripting, a small to moderate amount of html, and in there someplace I learned a whole bunch about programming concepts and am generally familiar with PC and mainframe computing environments (That's the short story). However, the career path is not happening (too much home-spun stuff, nothing that would contribute to certifications, really). Since my shrewish co-workers believe that sharing knowledge compromises their job security, I was unable to get coherent answers to my questions, so I'm hoping y'all will hook me up with some o' the plain english.

Discovering that I have a certain passion and flare for programming, and a desire to create web-related stuff, I hit the want ads to see what skills are being sought after. Although certainly not all-inclusive, the hot web-topics in my area are MS .NET, ASP.NET, VB.NET, C/C++/C#, Visual Studio, Visual C#, Java, Java (AJAX), SQL2005, XML, and Unix/Linux. I went and got books. I downloaded all the free versions of these things that were available (I have no money to spend). I downloaded tutorials. NONE of them started from the beginning, and I am confused.

Is there a place where I can see these things listed side-by-side, with a description of what their purpose is, and what they are intended to be used with? Depsite that it seems like an awful lot (and it is), I can learn all of these things in a relatively short period of time, providing that I can devise a training plan for myself. And I can't devise said plan without knowing which are apples and which are oranges, so to speak. For example, my initial impression was that the point in having MS.NET Framework SDK (I installed 3.5) was so that the other *.NET programs had a place to live, like ASP.NET. Then, subsequently (to continue with the ASP example), I would use VB or C# to write my code to design web apps. (Ah, there's that 'design' word! Am I designing, or developing?) And then, after looking at the .NET Framework SDK, I come across some info that seems to suggest that the purpose of it can also be fulfilled with Visual Studio, which I think is also an SDK. Which is fine, but if I want to learn both, what are the implications? Does VB come with Visual Studio? Are VB and VB.NET the same thing, and all progammers know this? Am I going to need SQL or Oracle, or both? What exactly is Java, and why are there so many flavors of it? What flavor is used for what? It is right about then that I can feel my head about to explode because I need some comprehensive knowledge about the big picture and all I can find is detailed information about configurations and how robust a platform is and how * will enhance my whatever. If you asked me "what is a car" I will tell you "a machine used for getting from point A to point B." Microsoft/Sun/Etc. will tell you "A construct fabricated from metal, plastic, and other synthetics consisting of a certain number of wheels, and housing, typically, an internal combustion engine, and provided with an array of controls for steering, acceleration and braking, and blah blah blah blah blah I'm gonna scream."

Okay, enough. Sorry for being so long winded. Can/will anybody outline this for me, or otherwise give this noob something to the effect of "An Overview of Web Design and Development Tools and Software for Dummies." Or point me to somebody who has already done this?
starsystemx is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 06-08-2008, 04:50 AM Re: What's the big picture?
RabidSniper's Avatar
Skilled Talker

Posts: 57
Name: Jesse
Location: Phoenix, AZ
Trades: 0
Wow.. Thats a lot.. Okay let me take a stab at this... For .NET technologies, all you really need is the desire and motivation to learn. If you truely have that, you can learn and apply skills found freely online. Same for Java, but Java tends to be a little less clear.

First off.. .NET and the .NET Framework is a programming framework. Installing the .NET Framework, allows a computer to run software written for the .NET Framework. Java is similar in that software written in Java requires the Java RUNTIME be installed and accesible on a computer.
Im going to stick to the .NET runtime for this post though, since it is has a fairly well defined learning path.

So the .NET Framework has different versions, version 1.1, 2.0, 3.0 and up to 3.5 right now. Version 1.1 really should be considered OUT OF DATE at this point so really, its all about versions 2.0 and up that most people are working on. The only thing you really need to do is be aware of what features are available in what versions of the framework. Version 3.0 simply added features to 2.0 and so on. For example, if you are going to write code using LINQ, you should know that the computer you are going to deploy it to has at LEAST the 3.0 version of the framework.

One great feature of the .NET Framework is its ability to allow people to use different programming languages to produce the same result. C#, VB.NET, J# and VB.NET are all examples of .NET Programming languages.. Each of these languages are a little bit different in syntax and coding style, but in the end when you "Compile" this code.. they all produce the same code that can be understood by the .NET framework. Obviously this is the real 50,000 foot view on how that works.. the .NET Framework handles these multiple languages through something known as the CLR (The Common Language Runtime). The only thing you really need to do starting out, is pick a language. If you have experience with VB or VB Script, you may feel more comfortable with VB.NET. If you are not scared of curly braces, or really dont care one way or another.. I would recommend C#.

C# looks like C++ more or less...actually it also looks like Java, and JavaScript for that mater.. that is because all of those languages follow the same formating standard known as ECMA. All in all you will find lots of good examples using C#, and generally it kind of has a better reputation. although truth be told, VB.NET is just as good and is not any less performant. (dont let the zealots tell you otherwise!)

SO if the .NET Framework is the environment and tools you have to work with, and C# or VB.NET is the language in which you are communicating and using these tools. You will also need what is known as a Compiler to take the code you write, and compile it into something the .NET Framework can understand. The defacto tool for this in the .NET world is known as Visual Studio. Visual Studio is known as an IDE (Intergrated Development Environment) because it allows you to write code, talk to databases, design forms graphically and manage many other aspects of developing software.

The current version of VIsual Studio is 2008 and it comes in possibly more flavors than Baskin Robbins has to offer. RIght now, you probablly only need to worry about two versions... If you have some money, I suggest BUYING Visual Studio 2008 Professional (or higher if you have more dough than you need). If you just want to try it out.. (which is a good idea actually) then what you will need is the EXPRESS editions. THe only problem with the EXPRESS editions of Visual Studio is that you have to download different installs depending on the type of coding you are doing. Visual Studio Web Developer for creating WEB stuff, and Visual Studio C# express for creating Desktop applications.

If you want to take the power of the .NET Framework to the web, you will need to use what is known as ASP.NET. The acronym ASP used to stand for "Active Server Pages" which is a legacy Microsoft web programming technology.. For now, all you need to remember is that ASP.NET is how you get the power of .NET programming onto the Web.

Now once you get into the web technology realm a bit, you will run into the term AJAX.. AJAX stands for Asynchronous JavaScript and XML, and is a technology and software communication style that allows for web pages to avoid RELOADING anytime they need to get more information from the web server. Honestly, if you have 0 experience with web development, its good to know what this is but I wouldnt start out trying to tackle AJAX right away. Get to know more about ASP.NET and the .NET Framework in general. If you do have experience with any web programing at all, especially with posting forms back to controllers that perform some soty of logic and fetch data then AJAX is defintely worth learning.

SQL Server 2005 (and 2008) is Microsoft's flagship Database product. Databases are a big deal and bigger than a bread basket in regards to learning new things..
SQL Server EXPRESS is the free, more liteweight version of SQL Server that can be either downloaded and install on most versions of Windows. (doesnt have to be a SERVER OS). SQL Server Express 2005 also gets installed automatically with any of the Visual Studio versions, so its best to just let the Visual Studio install handle the initial setup of SQL Server on a development box.. You will need this (or another database) to do anything useful in terms of writing web applications or whatnot. (in other words, to make money.. hehe)

Now a good place to start on these things are to first get the needed tools... Visual Studio 2008 and the .NET Frameworks

http://www.microsoft.com/express/ (The Express FREE versions)
http://msdn.microsoft.com/en-us/vstu.../bb931331.aspx (Good info on the full versions and a 90 day demo if thats your thing)

Another GREAT website that has some great info on getting started, along with free training online.. is the ASP.NET Website.
http://www.asp.net/

Lastly, if you want to be a serious programmer.. and take developing software to the corporate or enteprise world. I would recommend starting to read software engineering books.. A GREAT Place to start with is with Steve McConnells book:
CODE COMPLETE (2nd edition) http://cc2e.com/

Read that book, (and actually DO IT too) and then decide if software development is right for you.

Hope that helps..

Last edited by RabidSniper; 06-09-2008 at 02:18 AM..
RabidSniper is offline
Reply With Quote
View Public Profile
 
Old 08-01-2008, 06:31 PM Re: What's the big picture?
Junior Talker

Posts: 3
Trades: 0
Thats a lot to think about I agree with Jesse on overall better understandability of .NET platform than Java. But still there are other things to consider. To supplement Jesse's description on .NET, I'll try to cover more Java.

There is concept of java virtual machine, or JVM, which is analogus to .NET Framework. Both these platforms do similar things - they abstract your code from operating system details. Both platforms employ similar programming languages (talking C# for .NET), equally easy to comprehend.

.NET Framework is currently supplied by single vendor which is Microsoft, and reference JVM is supplied by SUN. There are also many JVM flavors from other vendors. Sun JVM comes in several versions, like 1.4, 1.5, 1.6, each of which also has some update releases. Modern enough is 1.5, and 1.6 is the latest. Like .NET versions, these add functionality, and also provide technological improvements.

Worth mentioning the fact that .NET Framework currently officially provided only on Windows operating systems family. Java virtual machine exists for lots of operating systems, including Windows, so java is considered multiplatform.

Historically, windows-based development is better suited for desktop applications. Java, on the other hand, had most of its strength on server-side and web part. The boundary though blurred with time and by now there are .NET-based server solutions in existence, and rich and fast desktop applications written on java.

.NET development contains more or less distinctive set of techniques, sticked side-by-side, so to say. For desktop development you use .NET Framework, for mobile - .NET Framework Compact Edition, for web - IIS/ASP.NET and all this you develop in Visual Studio. This is convenient and provides for fast learning.

.NET development backed by MSDN (http://msdn.microsoft.com), really good informational resource, complete with lots of tutorials.

Java platform, on the other side, is base for tremendous amount of technological concepts and flawors, some of which overlap with each other. Java is better supported by open source community. It provides really good web-related facilities that lots of vendors support in their products, which you also can use in your development. Java is more dynamic in its evolution. All this provides for better accessibility of newer concepts, knowledge of which may be strategic for ones career. The price comes in larger amount of knowledge one has to master.

In development you use basically same JVM for server, desktop, and web, except JavaME VM for mobile. There is also J2EE concept aimed at larger distributed systems development. There are three major IDEs used for java development, Eclipse, NetBeans and IntelliJ Idea. First two are free, third is commercial. It is more to personal preference, which one to use, but in some cases choice is limited by vendor/technology support. I would recommend NetBeans since Eclipse has more quirks and may or may not work out of the box. Also NetBeans is supported by SUN. Though, this as I said, is personal preference.

There is excellent starting resource for learning Java at http://java.sun.com/docs/books/tutorial/. It covers basic concepts and provides solid understanding of how java works.

From career standpoint, the choice between .NET and Java is more to personal interests than to technology, as both kinds of specialists are in high demand. If you see yourself more like into developing desktop applications, graphical interfaces, smaller enterprise systems, mobile solutions, go for .NET.
If you more likely into online technologies, multicomponent systems, large enterprise solutions, go for Java. Or you can learn them both and make them interoperate.

On your question about information - I dont know a place which would give shorter definitions to technologies and their purpose other than wikipedia. Microsoft, as proprietary environment vendor, is not very good at defining its technologies pros and contras in clear and unbiased way. Although, its informational support for development learning is fundamental. Sun as well makes large scale effort to make java development easy and convenient. Java is also backed by lots of online information.

VB and VB.NET are not the same, VB is for native windows development, VB.NET is for .NET Platform. Going native nowadays is not likely a good idea since most interesting things happen with higher level technologies. Basically, you achieve more in less time in managed platform, such as .NET or Java than developing native code in C/C++ VB or Delphi. Though, native might give better understanding on how things work on low level - which is essential for a good developer.

XML is structured text data format, employed for data handling in lots of applications, especially web-related.

SQL is database query language, supported by lots of database engines. Most popular ones for web are MySQL,

PostgreSQL and MS SQL Server (first two free). Oracle is enterprise-scale database.

SDK is software development kit, which is usually set of code libraries, samples and docs.
IDE is integrated development environment, a program for writing and debugging code.

So at the end of it all, if you want a head-on start on .NET web development, try Visual Studio Express, as Jesse suggested, with IIS (Microsoft web server) and ASP.NET. Use MS SQL as database.
If you want same on Java, try JDK (java development kit) bundled with NetBeans (download at http://java.sun.com/javase/downloads/netbeans.html). Use Tomcat as web server (included with netbeans bundle) and JSP/servlets for web logic. Try MySQL as database.

This will give you pretty good feel on how things done at both sides.
dearhunter is offline
Reply With Quote
View Public Profile
 
Old 08-02-2008, 08:01 AM Re: What's the big picture?
Junior Talker

Posts: 3
Trades: 0
For learning source you can also check Bruce Eckel's books. There are free online versions. These books give really good background on object oriented concepts and Java development. http://www.mindview.net/Books
dearhunter is offline
Reply With Quote
View Public Profile
 
Old 12-02-2008, 12:51 PM Re: What's the big picture?
Extreme Talker

Posts: 176
Name: 111
Trades: 0
It's a lot of information. I must have much time to understand it.
__________________

Please login or register to view this content. Registration is FREE
and
Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE
andr112 is offline
Reply With Quote
View Public Profile
 
Old 12-05-2008, 01:55 PM Re: What's the big picture?
Learning Newbie's Avatar
Defies a Status

Latest Blog Post:
Astounding Republican Paranoia
Posts: 5,662
Name: John Alexander
Trades: 0
My advice is not to try to understand it all at once. That's very difficult for a lot of different reasons, all working together against you. Too much info to absorb, lack of context, etc.

A better approach, if you'd like to pick up VB.NET, is to start there. You'll use Visual Studio, which is sort of like the bionic man version of Notepad on steroids. You use it to write and edit your code, hit F5 or the play button on the toolbar, and your code is run. Anyway, this will get you familiarity with the IDE, and with the VB language, and at the same time, introduce you to the .NET framework. That last bit will help if you cross over to C#, J#, or some other language.

Pick a trivial project, and figure out how to get it done. Some people might start with something like the Fibonacci sequence, but it's better to do something you'll be more interested in. Then, try something a little more ambitious. Soon you'll find the need for a database, and have to figure that out.
__________________

Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE
Learning Newbie is offline
Reply With Quote
View Public Profile
 
Old 12-28-2008, 02:41 PM Re: What's the big picture?
Super Talker

Posts: 143
Trades: 0
You are better off getting involved with a project and then integrating your suggestions with your skill set. That way you can guarantee quality instead of projecting a project benchmark nobody can deliver or utilize.
__________________

Please login or register to view this content. Registration is FREE
specialk is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to What's the big picture?
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.69568 seconds with 12 queries