Introdução Sumários • Objectivos da cadeira • História das linguagens de programação • Classificação das Linguagens de programação • Aplicação das linguagens de programação • Noção de compiladores • Software à usar na cadeira Universidade Metodista de Angola, Departamento de Engenharias 1 Objectivos da cadeira • Foco principal – Aprender a Linguagem C Universidade Metodista de Angola, Departamento de Engenharias 2 História das Linguagens de programação Ano Antes de 1951 1951 Nome da Linguagem Linguagem de Máquina (códigos) Assembly Language Objectivos, Conjunto de instruções executada directamente pela CPU do PC Ultrapassar os inconvenientes da linguagem de máquina 1954 FORTTRAN Usada para o cálculo científico “FORmula TRANslator” 1958 LISP Vocacionada à inteligência artificial “LISt Processor” 1959 COBOL Processamento de registos “Common Business Oriented Linguage” 1964 1970 BASIC Pascal 1972 C 1978 1980 SQL C++ Beginner’s All-Prupose Simbolic Instrution Code Criada por Niklaus Wirth para fins académicos Criada por Dennis Ritchie e Ken Thompson, para o desenvolvimento de sistemas operativos, actualmente muito utilizada na indústria electrónica para programação de micro controladores, Manipulação de base de dados Tira vantagens do paradigma orientação por objectos e orientação ao processamento 1988 HTML HyperText Marckup Language, criada por Tim Berners-Lee 1991 1993 1995 Python Ruby Java Usada para o desenvolvimento de softwares Usada para o desenvolvimento de softwares Usada para o desenvolvimento de softwares, aplicativos de telemóveis, Web browsers, etc. 1995 1998 PHP Visual Basic Usada para o desenvolvimento de páginas Web Usada para o desenvolvimento de páginas Web, aplicativos para bancos, etc. 2001 C# Usada para o desenvolvimento de páginas Web, aplicativos para bancos, etc. … … … Universidade Metodista de Angola, Departamento de Engenharias 3 Classificação das linguagens de programação – Quanto a estrutura • Linguagens estruturadas – Contêm estruturas de controlo de controlo de execução de instruções, estruturas de repetição, etc. Exemplo: C, Java, Pascal, Python, etc. • Linguagens não estruturadas – Não contêm estruturas que manipulam conjunto de instruções. Exemplo: Linguagem de Máquina, Linguagem Assembly. – Quanto ao nível • Linguagens de baixo nível – Linguagens baseadas em códigos, Mnemónicas. Exemplo: Linguagem de Máquina, Linguagem Assembly • Linguagem de alto nível – Linguagens que contêm instruções que se assemelham a linguagem humana. Exemplo: C, C++, Java, Python, Lisp, Pascal, etc. Universidade Metodista de Angola, Departamento de Engenharias 4 Classificação das linguagens de programação – Quanto a orientação • Linguagens orientadas ao objecto • Linguagens de programação cuja estruturas de dados são representadas por objectos e é feito manipulação de objectos tais como herança (aproveitar as características de um objecto), polimorfismo (reutilização de código), etc. Exemplo: Java, C#, Lisp, Python, etc • Linguagens não orientadas ao objecto • Não usam conceito de polimorfismo, herança presente nas linguagens orientadas ao objecto. Exemplo: C, Pascal, Basic, Fortran, etc. Universidade Metodista de Angola, Departamento de Engenharias 5 Aplicações das linguagens de programação – Linguagem C • Desenvolvida para construção de sistemas operativos. O Unix, o Linux, o Windows, o OSX, são sistemas operativos feitos em linguagem C. • Muito utilizada na electrónica, para programação de micro-controladores. – Java • usado para o desenvolvimento de softwares. – Lisp, Python • usados em inteligência artificial. – Pascal • usada para aprender técnicas de programação. – Cobol • processamento de registos. – Fortran • usada para o cálculo científico. Universidade Metodista de Angola, Departamento de Engenharias 6 Noção de Compiladores • Inicialmente antes de 1951 existiam linguagens de máquina que consistem em sequência de instruções binárias que são interpretadas directamente pela CPU dos computadores. • Mas essa linguagem apresenta um inconveniente, pelo facto de ser bastante difícil de programar. • Surgiram as linguagens de programação de alto nível que contêm instruções que se assemelham à linguagem humana. • Mas infelizmente essas instruções não são perceptíveis pela CPU , pois a CPU apenas interpreta linguagens de máquina. • Os compiladores são programas que traduzem instruções de linguagens de alto nível para instruções em linguagem de máquina. Universidade Metodista de Angola, Departamento de Engenharias 7 Noção de Compiladores • Cada linguagem de programação possui um compilador • Exemplo de compiladores: – Compiladores de linguagem C: • DevC++, TurboC, Cygwin, • Compiladores standard presentes nos sistemas operativos Unix e Linux. – Compiladores para linguagem Java: • NetBeans, Eclipse – Compilador para linguagem Pascal: • TurboPascal 7.0 – Compilador de linguagem C++, Visual Basic, C# • Microsoft Visual Studio Universidade Metodista de Angola, Departamento de Engenharias 8 Softwares • Recomendados • Qualquer compilador standard de linguagem C – por exemplo o aluno pode instalar de raiz qualquer Linux no seu computador ou usar uma virtual machine (O VM Ware por exemplo) e instalar o Linux. – O Cygwin é um software que contém um compilador de linguagem C standar. – O Cygwin é um software que pode ser instalado no sistema operativo Windows. – O Cygwin simula uma consola de comandos Unix em ambiente Windows. – O Cygwin é bastante simples de operar e é bastante importante para os alunos pois os alunos vão já se familiarizando com comandos Unix tais como rm, cp, mv, ls, ps, etc. • Compiladores da Microsoft – DevC++ – Visual Studio • O Software recomendado é o Cygwin Universidade Metodista de Angola, Departamento de Engenharias 9 Para os amantes do Linux • No site www.darkstar.ist.utl.pt podem encontrar e fazer download de diferentes versões do Linux tais como: – – – – – – – – Linux Linux Linux Linux Linux Linux Linux Etc. Red Hat Knoppix Fedora Mandrake Ubuntu Slakeware Mandriva Universidade Metodista de Angola, Departamento de Engenharias 10