2. Objectivos
● Forças Externas
● .Net vs Java
● C# vs VB.Net
● Execução de Aplicações
● Ambientes de desenvolvimento .Net
● Criar Projecto em VStudio
● Ferramentas básicas de debug
3. Forças Externas
● Porque queremos mudar?
– Se está feito e funciona porquê mudar?
● Desafios de hoje iguais aos de à 10 anos?
● Empresas / Utilizadores / Mercado trabalho?
● Novos paradigmas?
7. Forças Externas
● Empresas
– integração de sistemas
– toda a informação disponível a qualquer hora em
qualquer lugar
● Utilizadores
– mais funcionalidades mais facilmente acessíveis
– smart-client, off-line, sincronização automática
8. Forças Externas
● Mercado de trabalho
– Especialização vs generalização do conhecimento
● Exemplo: criar um relatório em Crystal Reports que seja
acessivel via browser
– Browser
– Browser => JScript
– Browser => JScript => Crystal Reports
– Browser => JScript => Crystal Reports => XML/XSD
– Browser => JScript => Crystal Reports => XML/XSD => .Net
– Browser => JScript => Crystal Reports => XML/XSD => .Net =>
OOP => desenvolvimento n-tier
– Browser => JScript => Crystal Reports => XML/XSD => .Net =>
OOP => desenvolvimento n-tier => SQL Ansi / Progress
9. Forças Externas
● Novos paradigmas, novas competências
– .Net, Java, padrões de desenho, testes unitários,
service-oriented architecture, …
● Pesquisa / formação constante
– sites de referência, blogs, workshops, motores de
pesquisa
11. .Net vs Java
● Semelhanças Plataforma / Linguagem
– Perspectiva histórica
C C++
C#
VB.Net
12. .Net vs Java
● Conceitos
– Compilação
● .Net e Java usam o conceito de Intermediate Language
(IL)
● A linguagem de programação é compilada para a IL e
depois executada
13. .Net vs Java
– S.O. vs Linguagens de Programação
● Java corre em diferentes hardwares / sistemas
operativos mas só suporta uma linguagem de
programação
– Existem algumas linguagens de programação que produzem IL
java
● .Net suporta várias linguagens de programação mas só
corre em Windows…
– Em curso “porting” da .Net Framework para Linux (projecto
Mono)
14. .Net vs Java
● Serviços disponibilizados
.NET JAVA2EE
Relational ADO.NET JDBC
Database Access
Web Client ASP.NET Java Server Pages (JSP) and
Servlets
Standalone Windows Forms AWT/Swing
Client
Distributed .NET Remoting RMI/IDL
Components
XML System.Xml and .NET in JAX Pack (JAXM, JAXR, JAXB,
general is built around XML. JAXP)
Messaging Microsoft Message Queuing Java Messaging Service (JMS)
(MSMQ)
Web Services Support Built directly into .NET Java Web Services Developer
and Visual Studio Pack (JWSDP) as well as
vendor specific tools.
15. .Net vs Java
● IDE
– Notepad + Command
Prompt
– VStudio vs Eclipse /
Net Beans
● Eclipse => próximo
ambiente de
desenvolvimento
Progress
16. .Net vs Java
● Conclusão – Opinião Pessoal
– .Net
● melhor documentação
● melhor IDE
● mais produtivo mais rapidamente
– Java
● mais projectos autónomos
19. C# vs VB.Net
● VB.Net + VStudio = rápida produtividade
– Sintaxe VB.Net mais simples e intuitiva
● Excepto para quem já tenha bom domínio de C/C++ ou
Java
– IDE de VB.Net mais amigável que o IDE de C#
● Permite que mais rapidamente nos concentremos nos
conceitos (métodos, propriedades, herança, …) e não na
sintaxe (if then else…)
20. C# vs VB.Net
● Performance
Both have access to the Now hitting on some touchy issues, many developers
same framework libraries. believe that VB.NET is slower then C#. That’s not
Both will perform entirely true. The only place I see VB.NET slower than
largely equivalently C# is where developers use old-style functions like
(with a few small Len and Mid instead of calling reciprocal methods
differences which are available within the .NET Framework library classes
unlikely to affect most and as mentioned by Heath Stewart (see post below)
people, assuming using old syntax like FunctionName = ReturnValue.
VB.NET is used with
Option Strict on)
.NET framework comes with a single class library. And thats all programmers need to
learn!! Whether they write the code in C# or VB.NET or J#, it doesn't matter, you just use
the .NET class library. There is no classes specific to any language. There is nothing
more you can do in a language, which you can't do in any other .NET language. You
can write code in C# or VB.NET with the same number of lines of code, same
performance and same efficiency, because eveyone uses same .NET class library.
23. Execução de Aplicações
● Progress
– Source p-code
– Intermediate r-code
● R-code portável... dentro de algumas restrições
● Aplicação .Net
– Source (vb, c#, jscript, cobol.net, …)
– PE – portable executable (.exe, .dll)
24. Execução de Aplicações
● .Net
– CIL – Common Intermediate Language
– CLR – Common Language Runtime
25. Execução de Aplicações
● .Net
– Componentes Comuns
● CLS – Common Language Specification - conjunto de
regras que se aplicam a todas as linguagens .Net
● CTS – Common Type System – especificação de todos
os tipos de dados e sua utilização
– Permitem que todas as Linguagens .Net tenham
um conjunto predefinido de tipos e funcionalidades
base
–
28. Hello World
● Hello world
– Definição e muitos exemplos
● http://encyclopedia.laborlawtalk.com/Hello_world_program
29. Hello World - Notepad
● Trabalho Prático
– Criar um programa em .net usando notepad
( gravar como Module1.vb)
30. Hello World - Notepad
● Trabalho Prático
– Compilar e Executar
● Start / Programs / Visual Studio .Net 2003 / Visual Studio
.Net Tools / Visual Studio .Net 2003 Command Prompt
– vbc /target:exe Module1.vb
31. Hello World - VStudio
● Trabalho Prático
– Criar um programa
em .net usando visual
studio
● Visual Studio .Net
2003
● File / New / Project /
Visual Basic Projects /
Console Application
35. Objectivos
● Forças Externas
● .Net vs Java
● C# vs VB.Net
● Execução de Aplicações
● Ambientes de desenvolvimento .Net
● Criar Projecto em VStudio
● Ferramentas básicas de debug