Você está na página 1de 19

TCC 00254: Desafios de Programao

Aula 02. Comparao de Linguagens

Karina Mochetti

2017.1

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Linguagens

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C

Linguagem estruturada baseada em funes.


Criada por Dennis Ritchie entre 1969 e 1973.
Foi usada para implementar o sistema operacional UNIX.
Foi criada a partir da linguagem B (no existem linguagem A,
B vem de BCPL - Basic Combined Programming Language).
Uma das linguagens mais utilizadas at hoje.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C: Hello World

#include<stdio.h>

int main() {
printf("%s", "Hello, world!");
return 0;
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C: Ordenao

void sort (int *a, int n) {


int i, j, m, t;
for (i = 0; i < n; i++) {
for (j = i, m = i; j < n; j++) {
if (a[j] < a[m]) {
m = j;
}
}
t = a[i];
a[i] = a[m];
a[m] = t;
}
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C: Vantagens e Desvantagens

Vantagens Desvantagens

uma linguagem rpida. No possui nenhum


biblioteca pr-pronta.
Voc tem total controle da
memria. preciso gerenciar
corretamente a memria
Muito prximo a C++.
para evitar Seg Fault.
Maior nmero de linhas de
cdigo.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C++

Criada por Bjarne Stroustrup em 1983.


Foi criada para ser um complemento de C: C++ C
incrementado, como usado para incrementar 1 em variveis.
uma linguagem hbrida, sendo tanto estruturada quanto
orientada a objetos.
uma extenso de C, assim, a maioria dos cdigos em C
devem funcionar em C++.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C++: Hello World

#include<iostream>

using namespace std;

int main() {
cout << "Hello, world!";
return 0;
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C++: Ordenao

void sort(Iterator begin, Iterator end) {


for(Iterator i = begin; i != end; i++) {
std::iter_swap(i, std::min_element(i, end));
}
return;
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


C++: Vantagens e Desvantagens

Vantagens Desvantagens

a linguagem mais No ensinada


utilizada em maratonas. normalmente nas
Possui bibliotecas, com universidades no Brasil.
estruturas pr-prontas. No possui um bibliotecas
Entrada e sada padro so to ricas.
simples. O gerenciamento de
Mais rpida de que Java e memria ainda no total
Python. do sistema.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Java

Criada por James Gosling em 1995.


uma linguagem totalmente baseada em orientao a objetos.
Foi feita para ser facilmente portvel (WORA - write once, run
anywhere), para isso utiliza uma mquina virtual.
uma linguagem mais alto nvel, lidando com alocao de
memria

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Java: Hello World

public class HelloWorld {


public static void main(String[] args) {
System.out.println("Hello, World");
}
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Java: Ordenao

public static void sort(int[] nums){


for(int i = 0; i<nums.length-1; i++) {
int smallest = Integer.MAX_VALUE;
int smallestAt = i+1;
for (int check = i; check<nums.length; check++) {
if(nums[check]<smallest) {
smallestAt = check;
smallest = nums[check];
}
}
int temp = nums[i];
nums[i] = nums[smallestAt];
nums[smallestAt] = temp;
}
}

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Java: Vantagens e Desvantagens

Vantagens Desvantagens

Cdigo mais legvel. Entrada e sada padro no


Possui uma biblioteca so simples.
muito rica, com vrias Muito lenta para tarefas
estruturas pr-prontas, simples.
inclusive de geometria. Dependente de IDE o que
Bom gerenciamento de pode ser um problema na
memria. correo.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Python

Criada por Guido Rossum em 1991.


uma linguagem interpretada (no precisa ser compilada
antes, executando instrues diretamente).
Foi feita para ser concisa, utilizar menos linhas de cdigo.
Suporta diversos tipos de paradigmas, como estrutural e
orientado a objetos.
Possui uma grande biblioteca padro.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Python: Hello World

print "Hello, world!"

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Python: Ordenao

def selection_sort(lst):
for i, e in enumerate(lst):
mn = min(range(i,len(lst)), key=lst.__getitem__)
lst[i], lst[mn] = lst[mn], e
return lst

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Python: Vantagens e Desvantagens

Desvantagens
Vantagens

A linguagem mais lenta.


Cdigo menor.
As bibliotecas so menos
Nenhum gerenciamento de
eficientes que C++.
memria, inclusive com
fcil manipulao de Entrada e sada padro so
variveis e strings. lentas.
Possui a biblioteca mais O programador precisa
rica, com muitas estruturas saber escrever o cdigo de
pr-prontas. maneira muito eficiente
(tendo que reescrever
Fcil aprendizado no incio.
algumas bibliotecas).

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens


Concluso

Saber todas as linguagens e escolher baseado no que o


problema pede!
Ser fluente em uma linguagem pode ser uma vantagem maior
que qualquer outra.

Karina Mochetti TCC 00254: Aula 02. Comparao de Linguagens