Programação para Linux

1. Programação para Linux

allan
oblinez

(usa CentOS)

Enviado em 22/08/2016 - 07:59h

Olá pessoal, estou com uma grande dúvida está área de programação me chama muito atenção e gostaria de entrar na área.

Estou aprendendo programação para Windows, sozinho e na raça! Mas Linux eh inúmeras vezes mais seguro que Windows em questão online, servidores ou qqr tipo de aplicação para rede, pois então... Que tipo de programação eh feita para Linux sei que eh diferente da programação para Windows...

Alguém poderia me dar uma breve explicação para que eu possa saber por onde começar a aprender programação para Linux?

Desde já obrigado!


  


2. Re: Programação para Linux

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/08/2016 - 08:38h

Estudar, e muito.
Existem vários pontos em que a linguagem não cobre nativamente, como processamento gráfico e comunicação para rede, com isso as plataformas possuem implementações próprias.
A API do Linux é muito boa, você poderá encontrar uma vasta gama de materiais, como livros e vídeos. Eu gosto do livro Linux System Programming http://shop.oreilly.com/product/9780596009588.do

Em si, a linguagem C é largamente portável e possui uma boa gama de materiais sobre programação segura.
Para o item de segurança, você pode olhar os seguintes materiais:

- CERT: https://www.securecoding.cert.org/confluence/display/c/SEI+CERT+C+Coding+Standard
- MISRA C

--
Uilian Ries
Linux Counter: 521986


3. Re: Programação para Linux

Paulo
paulo1205

(usa Ubuntu)

Enviado em 22/08/2016 - 15:17h

oblinez escreveu:

Estou aprendendo programação para Windows, sozinho e na raça! Mas Linux eh inúmeras vezes mais seguro que Windows em questão online, servidores ou qqr tipo de aplicação para rede


Isso já foi bem mais verdadeiro. Hoje em dia, a balança está bem mais equilibrada.

pois então... Que tipo de programação eh feita para Linux sei que eh diferente da programação para Windows...


Por que você supõe “tipos de programação” diferentes ou, antes, o que você quer dizer com isso?

Eis o cenário:

a) maioria das linguagens de programação disponíveis para um sistema existem também no outro;

b) muitas ferramentas auxiliares ao desenvolvimento também são compartilhadas;

c) no mundo cliente/servidor, que pareceu ser o foco da sua pergunta, há muito menos diferenças do que quando se pensa em programação para desktop ou tela portátil;

d) existem bibliotecas e frameworks voltados especificamente para compatibilidade, interoperabilidade e portabilidade (exemplos, em múltiplos níveis: Boost (comunicação em rede, controle do SO), Qt (GUI, comunicação em rede, multimedia), OpenGL (gráficos 2D e 3D de alto desempenho), FLTK (GUI), e os próprios Java (incluindo JEE) e .NET Core, entre outros);

e) muitas empresas grandes perceberam que uma forma de gerar receita é aumentar a base instalada capaz de executar software seu e de seus clientes e, por isso, passaram, em muitos nichos (mas não todos), da postura de limitar escolhas para a de favorecer a compatibilidade (a própria Microsoft tem, nos últimos tempos, têm lançado produtos para Linux e BSD, como o já mencionado .NET Core ou o Visual Studio Code, além de firmar parcerias com empresas que atuam especificamente no mercado de Linux);

f) como criador de software, os conceitos, padrões de desenvolvimento e técnicas de programação aplicados por você provavelmente devem ser mais ou menos os mesmos em qualquer linguagem de programação e em qualquer arquitetura de programação.

Por outro lado, existem complicadores. Para cada ponto acima, pode-se fazer um contraponto:

a) existem linguagens voltadas para um sistema em particular, que ou não existem no outro ou são difíceis de encontrar, ou não têm o mesmo grau de funcionalidade;

b) idem para ferramentas;

c) no mundo do que aparece na frente do usuário, os desafios do programador são maiores (por exemplo: a aplicação tem de ter o mesmo aspecto das demais aplicações de cada plataforma -- eu, por exemplo, detesto aplicação com cara de aplicação de celular no meu desktop, e acho que aplicação com cara de desktop no celular vai ficar muito difícil de ser manipulada);

d) existe, sobretudo entre programadores mais antigos, resistência a deixar aquilo com que já trabalham para usar recursos diferentes e mais modernos (os mais modernos tendem a ser também os mais portáteis entre arquiteturas), e há também quem até adote os frameworks portáteis, mas que perverte ou compromete sua portabilidade, através do uso de recursos particulares de uma plataforma ou pelo uso misto de recursos do framework com outros fora do framework;

e) ainda existem muitos nichos em que essa abertura não aconteceu, e há também aqueles em que o movimento foi inverso (quando uma empresa percebe que tem uma fatia suficientemente grande do mercado, acaba se sentindo dona desse mercado);

f) se você for um programador inconsistente, ou que se deixe encantar mais pelas particularidades da ferramenta/plataforma do momento do que pelos requisitos funcionais do projeto a ser implementado, será mais difícil para você assimilar mudanças entre ambientes ou o desenvolvimento voltado a múltiplos ambientes simultaneamente.


4. Re: Programação para Linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/08/2016 - 15:33h

https://www.google.com.br/#q=linux+programming+interface
https://www.google.com.br/#q=linux+system+programming

Procure pelo quarto link, com tag [PDF], dentro de cada uma das duas pesquisas acima.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Programação para Linux

allan
oblinez

(usa CentOS)

Enviado em 22/08/2016 - 19:06h

paulo1205


Paulo, Obrigado pela bela explicação.
falei de diferente pois uma aplicação feita para plataforma windows n tem o mesmo tratamento para linux, até mesmo (não pesquisei inda desculpa se falei besteira) o visual Studio não compila em linux ou seja terei de codar em algum compilador que nao conheço... eu abri varios arquivos sh para saber mais ou menos como era... e eram totalmente diferentes do comum... ou eram tao complexos que eu achei q n eram o comum.

Paulo, foi como vc falou, estou interessado nessa área de redes... armazenamento de dados e proteção... proteção para rede... sistemas cliente/server usando linux... mas como você falou que hoje em dia o windows em questão de segurança esta próximo ao linux e pelo ambiente gui ajuda e muito quem não conhece terminal ou ate mesmo linux com interface gráfica, no windows fica mais fácil... acredito que um programa bem feito sera seguro tanto em linux quanto windows basta fazer algo bem feito, estou errado?

estou aprendendo c# com videos tutoriais e material que eu encontro pela internet... ainda não achei algo do tipo "curso completo c#" dando sopa pela net

uilianries


Obrigado Uilianriespelo conselho irei dar uma pesquisada nesse material!!

listeiro_037

Obrigado listeiro_037 pelo material irei pesquisar sobre!!



6. Re: Programação para Linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/08/2016 - 08:41h

oblinez escreveu:

paulo1205


Paulo, Obrigado pela bela explicação.
falei de diferente pois uma aplicação feita para plataforma windows n tem o mesmo tratamento para linux, até mesmo (não pesquisei inda desculpa se falei besteira) o visual Studio não compila em linux ou seja terei de codar em algum compilador que nao conheço... eu abri varios arquivos sh para saber mais ou menos como era... e eram totalmente diferentes do comum... ou eram tao complexos que eu achei q n eram o comum.

Paulo, foi como vc falou, estou interessado nessa área de redes... armazenamento de dados e proteção... proteção para rede... sistemas cliente/server usando linux... mas como você falou que hoje em dia o windows em questão de segurança esta próximo ao linux e pelo ambiente gui ajuda e muito quem não conhece terminal ou ate mesmo linux com interface gráfica, no windows fica mais fácil... acredito que um programa bem feito sera seguro tanto em linux quanto windows basta fazer algo bem feito, estou errado?

estou aprendendo c# com videos tutoriais e material que eu encontro pela internet... ainda não achei algo do tipo "curso completo c#" dando sopa pela net

uilianries


Obrigado Uilianriespelo conselho irei dar uma pesquisada nesse material!!

listeiro_037

Obrigado listeiro_037 pelo material irei pesquisar sobre!!


Aproveite e instale o MonoDevelop no seu Linux, e programe em C# agora mesmo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts