Where should I start from in learning asp.net? - language-agnostic

Is it better to learn C# first and then ASP.NET or the reverse?
Best,
Gomanh

Hi first of all you need to learn some C# basics, because ASP.NET uses C# or VB.NET syntax.

I think you misunderstand some fundamentals :)
ASP.NET is not a programming language. Its a "framework", meaning its a collection of libraries and classes related to web development. You access the ASP.NET frameworks through a programming language, such as C#.
If you're new to C#, there's a good chance you're new to .NET as well. The .NET Framework (also called the .NET Base Class Library) is a collection of classes which wrap up common needs that arise in most applications. C# language is actually very easy, but learning the .NET framework can be pretty challenging.
ASP.NET is a framework that uses the .NET BCL. Its yet one more thing to learn.
In my opinion, you can learn C# and ASP.NET simultaneously.

Assuming you are already familiar with HTML, otherwise lead with that.
ASP.Net is a framework that uses C#/VB to generate HTML, so you'd get lost pretty fast without an understanding of HTML. You can't really get far in ASP.Net without learning either C# or VB, as Juliet says, so the two would tend to happen side by side.
I learnt from an earlier edition of this book - http://www.amazon.com/Sams-Teach-Yourself-ASP-NET-Hours/dp/0672333058/ref=sr_1_3?ie=UTF8&qid=1290212202&sr=8-3 otherwise highly recommend you spend some time on http://asp.net where they have excellent video resources for all levels.

Related

Actionscript 3.0 and MVC

How do you implement MVC in actionscript 3.0? Do you build your own classic (based on GoF book) simple architecture or use some of modern frameworks? I learn on "classic solution" and couldn't understand is it better to use some mvc framework? Which one is good for this purpose?
I use my own setup that implements MVC practices/architecture, but is not a framework. In my mind, MVC is a way of organizing the code (and functionality). Available MVC frameworks features to simplify and automate interaction.
For many of my projects, the added functionality of an MVC framework is not needed and just ends up imposing some restrictions. If these features are important or you're working with a team, the mvc framework has many benefits. But for personal projects, I find the simplicity of my own setup does the job.
There are several AS3 MVC implementations, the most popular of them are Robotlegs, PureVMC, Swiz and Parsly (there are also Cairngorm and Flex only MATE but I don't know have they still supported). They all managed to be the basis for your application and it's a matter of taste which of them to use. If I should make a choice of one on them it'll be the Robotlegs, but in real work we have own lite weight MVC implementation, something average between Robotlegs and Cairngorm for pure AS3 projects.

Cocoa, Objective-C to HTML?

As far as I've been able to find, there seems to be one option for building websites/web applications in Objective-J with Cappuccino.
The .NET is a huge framework that of course can compile for the web. I don't think it's a stupid question to ask whether or not Objective-C can be used for the same purpose.
Apple doesn't advertise being able to develop websites with Objective-C, but I thought I'd ask anyways.
Other than Cappuccino, is it possible or just completely not possible?
It'd be possible to build websites in Objective-C, the same way you'd be able to do it in C++ or even C.
There are pros and cons to both. The main pro is that these languages are generally more mature, robust and better featured than php, ruby etc. However, since they are not generally used for that purpose (unfortunately), there aren't many frameworks and/or workflows available. The most recognized for Obj-C is GNUstepWeb.
You also have to consider what you're doing. If you're building a web application that involves models, reports, etc, this would be a good way to go. On the other hand, if you're building a smaller website with more common features, chances are one of the "traditional" web-development platforms is going to be a better match.
I thought you might be interested in something like Cappuccino (Aka Objective-J) which is similar to Objective-C (in some ways) but fully designed for creating web application front ends. It compiles to Javascript.
Your question isn't stupid - but it is very broad and hard to answer. Are you talking about outputting HTML? Or are you talking about server side programming? Objective-C using Cocoa, or just vanilla Objective-C?
To start with, anything using cocoa frameworks cannot be compiled for the web. Period. You can imitate the Cocoa frameworks (like Cappuccino does), but it is not a small task.
It is possible to do web development with Objective-c (server-side), but it is not really feasible at the moment because you would have to write the libraries from scratch, and with so many other options out there for web development with complete frameworks (Ruby, PHP, Python, Java, etc) there really isn't any reason to do so.
WebObjects was an Objective C framework, but transitioned to Java a decade ago. However, it still has the Cocoa/Obj C feel, still using foundation classes such as NSArray as well as key concepts like KVC and MVC. The Apple online store and the iTunes Store are two successful examples of web applications written using WebObjects.

ASP .NET or Django?

I'm new to the web framework, but have been using Java/Servlet/JSP for my previous web development because I hate PHP. I'm thinking of starting a new feature laden website that I need to quickly create and been deciding on numerous technologies.
I dabbled in Drupal for a while and found it too restrictive and didn't particularly enjoy constantly trying to find a module that almost do what you want so I'm moving over to a web framework.
I considered ASP .NET or Django. Searching on this site, I found a couple of questions ("[Is there any advantage to Django versus ASP.NET MVC other than platform? closed" and "ASP.NET MVC vs. Django - Which framework should I learn?"), but they don't fit my situation.
In my case, I'm new to Python and have to learn that, but am relatively familiar with C# due to Java/C++/XNA and VB Classic 6.0. In both cases, I have no experience with Django/Python or ASP .NET/SQL Server and have never created a site with either.
My reasons are as follows:
I like the idea of having a full stack from one vendor and not mock around with Linux as it took me forever to setup a proper secure setup of Ubuntu, PHP, MySQL and Apache. I don't want technical oddities of learning gazillion different applications with obscure settings to get it working. This is mostly a concern with Django/Python as I believe MS got their stuff well tied togheter.
Django is designed for newspaper website so it focuses on rapid and efficient development of new features with good design principles. I love the idea of there is only one good way to do it and the Django authors perfectionism. The pitfall of course is since 2005 they are still on version 1.2! Ruby on Rails is far ahead of them considering I saw this video. Yeah, I watched the whole entire 3-hours, but didn't understand much from the RoR demonstration.
ASP .NET is appealing to me because I already know C# and VB Classic 6.0. I'm familiar with Visual Studio and like the fact that it is also tied in to Windows Phone 7/Xbox Live Indie games with XNA. However, if those features are used is another question down the road. However, as mentioned before ASP .NET just seemed streamelined with plenty of documentation and support. Future job prospects also seem more in favor with MS technology.
What does the community here think?
I would like to hear different ideas as I beginning web programmer it is very daunting and I have vasted far too much time figuring this out on my own the hard way. Help would be very much appreciated!
ASP.Net and WISC# stack.
WISC - Windows/IIS/SqlServer/C# :)
if you want an MVC Web Framework use ASP.net MVC , since you come from a Java Background C# wont be a problem for you
Django is a good framework but you have to learn python

What web frameworks and languages have the lowest development time?

I'm trying to get a few web development ideas off the ground. Unfortunately I will be the only developer, so I'm focusing on getting a good debuggable, testable setup going that I can develop applications rapidly with.
Which languages, development styles and frameworks would you recommend for rapid development? Last time I checked RoR was the next big thing but that was a while back.
Ruby on Rails is a good choice for rapid prototyping. It's simple, clean and easily learned. PHP also offers a fairly low learning curve and a wide variety of built-in functionality for accomplishing most tasks. Both languages have their shortcomings, but on small-team projects for low to moderate traffic sites, you aren't likely to bump up against them.
The one you know best.
For people who are comfortable with Python there's also Django.
I guess it is pretty much an equivalent to Ruby on Rails (although I never used Ruby on Rails). Django's concept is to have many autonomous applications which can be used together in order to build small to large scale websites. It has great documentation, although deployment can be quite a hassle. Unfortunately it's not supported by many hosters.
PHP with Zend Framework has comparetively lower development time.
If you are familiar with C# or VB.NET and HTML then ASP.NET is also a very good option.
Just to add another, GWT (Google Web Toolkit) is an awesome option. It allows you to write all of your code in one language (more or less, you'll still need a bit of css --for the record ASP.NET allows this as well) and you can create really rich applications with all kinds of awesome javascript and ajax stuff without needing to know javascript. Their tutorials are great and personally, I think you can get off the ground really, really quickly.
I guess it matters more as to what languages you're most familiar with.
Whatever that language is, look for a good MVC framework for it.

How to add bindings to a new language?

So you've got to create your own scripting language built in .NET C#.
What's better now for libraries? (think SDL/OPENGL), generate wrappers with Swig or do it by hand? Any other choice?
Since you're building the language in C#/.NET (which I will comment about later), you should have easy access to the entire .NET library system. This should make it very easy to use existing libraries to make .NET assemblies, and have them exposed to your scripts.
However, I'd question wanting to make a scripting language in C# - There are very good options out there, especially if you take the DLR (dynamic language runtime) into account. You can provide scripting to an existing C# application very easily without making a custom language.
I would recommend using the CLR.
This way, you get the entire FCL, and any third-party libraries that people write in .Net, without having to do any additional work.