Jump to content
Sign in to follow this  
elson924

Sistema Operativo/Programação

Recommended Posts

elson924

Boa noite,

Estou a pensar tirar o 12º através do Curso "Técnicos de Gestão e Programação de Sistemas Informáticos"

Gostava de saber por onde começar , para entrar no curso com algumas bases de programação.

Também gostava de saber se há algum sistema operativo melhor para programação, começo a ficar farto do windows , gostava de mudar para linux, mas não sei para qual das versões, já experimentei o ubunto  e estou agora a experimentar o openSUSE.

Desde já obrigado.

Cumprimentos

Share this post


Link to post
Share on other sites
bioshock

Não penses assim.

A escola têm como fim ensinar-te, seja o básico seja o avançado de uma determinada disciplina, seja ela programação ou não.

Relativamente ao sistema operativo, não entres por aí. O Windows pode ser exclusivamente vocacionado para projectos profissionais/escolares.

Dependendo da tua escolha ao nível da linguagem de programação, ficas avisado que tecnologias .NET não são o ponto forte do linux (previsível).

Share this post


Link to post
Share on other sites
KTachyon

Eu vou dizer o contrário: pensa assim :thumbsup:

Como distro de Linux, é o que achares melhor. Eu de momento só lido com CentOS e Ubuntu, mas apenas porque são os sistemas que me foram colocados para eu gerir. O CentO não me chateia. O Ubuntu é que já não é exactamente "compatível" comigo :)

Relativamente à linguagem de programação, eu cagava no .NET. C/C++ e Java abrem-te mais portas que qualquer outra linguagem.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
bioshock

Abrem mais portas? Só se forem portas no estrangeiro. :)

Até posso concordar que Java possa ter mais procura que .NET, mas jamais C/C++ têm mais procura do que tecnologias .NET.

Não esquecer que dentro da tecnologia .NET existem três vertentes: VB, C# e ASP. :thumbsup:

Share this post


Link to post
Share on other sites
KTachyon

E? Tens medo de ir para o estrangeiro?

Para além disso, mesmo em Portugal, em empresas de desenvolvimento de software, .NET tem mais procura que C/C++?


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Eu "tirei" (desisti) o Curso Profissional de Informática de Gestão e posso-te dar algumas dicas. Se queres entrar com umas bases e ainda não tens nenhuma, podes começar por Pascal e depois passares para as tecnologias .NET ( C# e VB ). Pelo menos, foi isso que dei no meu curso e provavelmente o teu não será muito diferente...

Relativamente ao sistema operativo, se queres mesmo mudar, então dá uma olhada no Ubuntu. Em princípio, é a distribuição que também vais dar no curso.

Só uma coisa, quero sublinhar o que o @bioshock disse "A escola têm como fim ensinar-te, seja o básico seja o avançado de uma determinada disciplina, seja ela programação ou não. ". E, é mesmo isso que vai acontecer, quando chegares lá vão-te ensinar como se não soubesses nada sobre programação! Claro que se tiveres umas bases, depois será mais fácil para ti, mas não precisas de te preocupar muito com isso... :thumbsup:

Share this post


Link to post
Share on other sites
falco

Em primeiro lugar não existe nada chamado Ubunto, existe sim chamado Ubuntu.

Versões de Linux há por exemplo as 2.6.*. Se estás a falar de Ubuntu e de Open Suse, estás a falar de distribuições do sistema operativo GNU/Linux e não de versões do kernel Linux.

Dependendo da tua escolha ao nível da linguagem de programação, ficas avisado que tecnologias .NET não são o ponto forte do linux (previsível).

Eu diria antes que o GNU/Linux e qualquer outro sistema operativo que não o window$, não são o ponto forte do .Net. Não se trata de uma insuficiência do kernel Linux, nem do sistema GNU/Linux (ou de outros), mas sim das implementações de .Net.

C/C++ e Java abrem-te mais portas que qualquer outra linguagem.

Isso é a forma certa de fazer maus e infelizes programadores...

Os programadores devem programar naquilo que lhes dá gozo. Pois isso é o que lhes dá felicidade e os motiva a superarem-se. Eu programo em linguagens menos utilizadas e nunca tive problemas em ter portas abertas.

E? Tens medo de ir para o estrangeiro?

Essa é uma pergunta, imbecil.

Tal como para mim, para muita gente não se trata de medo.

Já tive diversas oportunidades para ir para o estrangeiro, mas não fui. E não fui porque gosto muito de estar em Portugal. E porque tenho a minha vida toda organizada em Portugal. E a minha vida é o resultado do meu esforço e eu não gosto de desperdiçar o meu esforço.

Não se trata de medo. Trata-se de conforto.

Para além disso, mesmo em Portugal, em empresas de desenvolvimento de software, .NET tem mais procura que C/C++?

Sim tem muito mais procura...

As tecnologias .Net são das mais procuradas e C e C++ são das menos procuradas... E é assim não só em Portugal, como em todo o mundo.

Share this post


Link to post
Share on other sites
KTachyon

http://www.langpop.com/

Estatísticas de Fevereiro de 2011. Vê a do Craigslist, só para teres uma ideia das linguagens pedidas nas propostas de emprego...


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
bioshock

E? Tens medo de ir para o estrangeiro?

Para além disso, mesmo em Portugal, em empresas de desenvolvimento de software, .NET tem mais procura que C/C++?

Não é uma questão de medo, é uma questão de oportunidade, diferente. Assim como gosto muito de onde vivo.

Sim, existe mais procura de programadores desenvolvimento software .NET do que C/C++.

http://www.langpop.com/

Estatísticas de Fevereiro de 2011. Vê a do Craigslist, só para teres uma ideia das linguagens pedidas nas propostas de emprego...

Relativamente a estas estatísticas, pelo que estive a ler e confesso que não foi tudo, as mesmas são direccionadas para quem? Europa? Portugal? Mundo?...

Eu estou é interessado em Portugal que é o meu país!

No entanto, apesar de eu ter visto o Craigslist, logo no 1º parágrafo do site:

We have attempted to collect a variety of data about the relative popularity of programming languages, mostly out of curiousity.

Não me parece que eles tenham andado a fazer inquéritos, simplesmente basearam-se nos resultados dos motores de busca e isso não traduz as linguagens mais utilizadas nas empresas. :thumbsup:

Aliás, as queries são feitas em inglês, onde é que isso se assemelha com Portugal?

Eu diria antes que o GNU/Linux e qualquer outro sistema operativo que não o window$, não são o ponto forte do .Net. Não se trata de uma insuficiência do kernel Linux, nem do sistema GNU/Linux (ou de outros), mas sim das implementações de .Net.

Nem eu disse que era insuficiência. Aliás, coloquei entre parêntesis o (previsível) já para realçar esse facto. É normal.

Isso é a forma certa de fazer maus e infelizes programadores...

Os programadores devem programar naquilo que lhes dá gozo. Pois isso é o que lhes dá felicidade e os motiva a superarem-se. Eu programo em linguagens menos utilizadas e nunca tive problemas em ter portas abertas.

Nada contra.

Mas o mercado têm um peso substancial na escolha de uma linguagem.

Share this post


Link to post
Share on other sites
KTachyon

Sim, porque hoje em dia só se programa para Windows.

Vamos lá esquecer que a maior parte dos servidores correm Unix e derivados, que as principais plataformas móveis são iOS, Android e Symbian, e que ninguém quer Windows em tablet computers... Realmente, tens toda a razão...

[/sarcasm]


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
thoga31

Sim, porque hoje em dia só se programa para Windows.

Vamos lá esquecer que a maior parte dos servidores correm Unix e derivados, que as principais plataformas móveis são iOS, Android e Symbian, e que ninguém quer Windows em tablet computers... Realmente, tens toda a razão...

[/sarcasm]

Sarcasmos à parte...

Apesar de a maioria dos servidores correrem Unix e derivados, serem poucos os users de Win Mobile e afins relacionados, etc etc, A maioria da programação feita hoje em dia direcciona-se para três grandes áreas:

[*]Desenvolvimento Web

[*]Soluções empresariais

[*]Soluções domésticas

Analisando cada uma destas:

[*]Apesar de outras linguagens estarem a ganhar cada vez mais força (como PHP), ainda se utiliza muito o ASP (extensões *.asp e *.aspx, algumas das mais vistas depois do *.htm e do *html), que é plataforma .NET, por exemplo.

[*]A maioria das empresas (não informáticas, porque estas já começam a utilizar Mac e Linux) ainda corre Windows nos seus diversos PCs por ser o OS mais utilizado desde (quase?) sempre - os seus trabalhadores já estão habituados a este ambiente, é o mesmo que têm em casa desde há uns anos.

[*]Está a crescer os utilizadores Mac e Linux, mas a maioria ainda é "fiel" a Windows: até há pouco tempo as aplicações domésticas eram quase todas incompatíveis com Linux e Mac, só mais recentemente estão a ganhar suporte. Até o OpenOffice, o primeiro Office em massa e livre que oferece compatibilidade para os "3 grandes", tenta ter um ambiente ligeiramente semelhante ao MS Office, distribuído a par do Windows, por ser o mais utilizado e conhecido.

Por isso [sarcasm] é de elevada relevância os servidores e os tablets (como o PIB per capita maioritário permite comprar cenas destas como se compram pipocas...)... [/sarcasm]

Por isso, sim, plataformas .NET são muito procuradas: permitem desenvolver aplicações leves, de forma rápida e eficaz, oferecendo um ambiente gráfico padrão, conhecido e já intuitivo por ser o padrão mais conhecido, e também permite ambientes gráficos mais "arrojados" (diferentes) do padrão.

Não é com uma linguagem qualquer que fazes um web browser básico em menos de 1 hora. :thumbsup:

Agora não vamos confundir o que é mais procurado com o potencial de cada linguagem (falando maioritariamente em termos de compatabilidades, que é o que está a ser muito discutido agora).

Algum erro que tenha dito, corrijam-me, mas não me matem! :)   Aprendemos com os erros, e o diálogo nunca deu pinga de sangue, e as "guerras" mataram já milhares de milhões. (ironic :) )

Cumpz, Thoga31


Knowledge is free!

Share this post


Link to post
Share on other sites
KTachyon

Apesar de outras linguagens estarem a ganhar cada vez mais força (como PHP), ainda se utiliza muito o ASP (extensões *.asp e *.aspx, algumas das mais vistas depois do *.htm e do *html), que é plataforma .NET, por exemplo.

Não vamos por aí. O PHP tem mais utilização que ASP, já desde o início da década. Se tens um server Apache/Tomcat, não vais para ASP. Vais para PHP, JSP ou até Python, entre outras. E o Apache ainda é o WebServer dominante (qualquer coisa do tipo, 60% Apache vs 20% Microsoft IIS).

A maioria das empresas (não informáticas, porque estas já começam a utilizar Mac e Linux) ainda corre Windows nos seus diversos PCs por ser o OS mais utilizado desde (quase?) sempre - os seus trabalhadores já estão habituados a este ambiente, é o mesmo que têm em casa desde há uns anos.

Isso não significa muito. Em muitos casos as empresas/organizações já pedem ou já analisam a hipótese de se integrarem os sistemas web based, de forma a que o utilizador/trabalhador faça tudo a partir do browser, com a informação centralizada nos servidores.

Está a crescer os utilizadores Mac e Linux, mas a maioria ainda é "fiel" a Windows: até há pouco tempo as aplicações domésticas eram quase todas incompatíveis com Linux e Mac, só mais recentemente estão a ganhar suporte. Até o OpenOffice, o primeiro Office em massa e livre que oferece compatibilidade para os "3 grandes", tenta ter um ambiente ligeiramente semelhante ao MS Office, distribuído a par do Windows, por ser o mais utilizado e conhecido.

Sabes que, nem o MS Office, nem o OpenOffice são desenvolvidos em .NET...

Por isso [sarcasm] é de elevada relevância os servidores e os tablets (como o PIB per capita maioritário permite comprar cenas destas como se compram pipocas...)... [/sarcasm]

Por acaso, os tablets têm vendido como pipocas... E os servidores também são um mercado não estagnado, ao contrário do mercado de computadores pessoais, que já é quase uma recta horizontal...

Por isso, sim, plataformas .NET são muito procuradas: permitem desenvolver aplicações leves, de forma rápida e eficaz, oferecendo um ambiente gráfico padrão, conhecido e já intuitivo por ser o padrão mais conhecido, e também permite ambientes gráficos mais "arrojados" (diferentes) do padrão.

E Java não?

Eu já cheguei a construir aplicações multiplataforma (Mac, Linux e Windows), com o interface padrão em qualquer uma das plataformas, e de forma bastante rápida e eficaz com REALbasic. Drag&drop, double-click to code, BASIC,... em 1998/99.

Não é com uma linguagem qualquer que fazes um web browser básico em menos de 1 hora. :thumbsup:

Pah, essa frase é só um bocadito ridícula. Em primeiro lugar, tu não fazes um browser em menos de 1 hora. Já está tudo feito, tu só colocas as componentes que permitem fazer o rendering das páginas Web. Em segundo, eu "faço" um web browser em 5 minutos ou menos, em Cocoa. E ainda em menos tempo com REALbasic. :)


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
falco
Estatísticas de Fevereiro de 2011. Vê a do Craigslist, só para teres uma ideia das linguagens pedidas nas propostas de emprego...

Nada do que mostraste tem uma amostra válida...

Relativamente a estas estatísticas, pelo que estive a ler e confesso que não foi tudo, as mesmas são direccionadas para quem? Europa? Portugal? Mundo?...

EUA e nem dos EUA são representativas...

Mas o mercado têm um peso substancial na escolha de uma linguagem.

Tem?

Em que aspecto?

O programador deve seguir o que o faz feliz e o que se adequa tecnicamente. Só! Tudo o resto é um erro grave.

Vamos lá esquecer que a maior parte dos servidores correm Unix e derivados, que as principais plataformas móveis são iOS, Android e Symbian, e que ninguém quer Windows em tablet computers... Realmente, tens toda a razão...

Não sei a quem, não ao que estavas a responder. Mas para o bem da discussão, vou supor que se trata de o C e C++ serem as linguagens que se utilizam para programar para sistemas operativos que não o window$.

Bem não são...

A não se que estejas a fazer aplicações de sistema (o que é raro), ou aplicações que tenham grandes requisitos de performance, ou que trabalhes na manutenção de sistemas de informação mais velhos. Então raramente vais ver C à frente... Vais ver Java, vais ver PHP, vais ver Perl, Python, Ruby e n outras linguagens e raramente vais ver C, ou C++. Eu ando nisto à alguns anos... E posso dizer que raramente vi aplicações em C, ou em C++ a serem desenvolvidas. Aliás as poucas que vi são aplicações mais velhas (todas com perto de 10 anos). Não digo que as linguagens não sejam usadas, são sim, mas pouco, quando comparado com as que disse.

Sabes que, nem o MS Office, nem o OpenOffice são desenvolvidos em .NET...

O nome é OpenOffice.org e não OpenOffice.

De facto não são. Mas a quantidade de gente que trabalha neles é infinitamente inferior à que desenvolve a maior parte do software que é utilizado. Até porque estás a falar de software que é desenvolvido para satisfazer uma necessidades geral e esse software é a menor fatia do software que é desenvolvido (a maior parte é software desenvolvido à medida).

Por acaso, os tablets têm vendido como pipocas... E os servidores também são um mercado não estagnado, ao contrário do mercado de computadores pessoais, que já é quase uma recta horizontal...

Isso das tablets é uma ilusão... Assim como os netbooks foram...

Share this post


Link to post
Share on other sites
KTachyon

Nada do que mostraste tem uma amostra válida...

EUA e nem dos EUA são representativas...

Consegues apresentar uma amostra válida? Força.

Eu não sou fã da abordagem "o programador deve seguir o que o faz feliz". Muito pelo contrário. Para além de um bom programador se adequar facilmente a diferentes linguagens de programação, um bom programador também deve ter exposição sobre uma boa quantidade de linguagens, plataformas, frameworks,... de forma a que possa efectivamente saber o que se melhor adequa técnicamente ao problema em causa.

Não sei a quem, não ao que estavas a responder. Mas para o bem da discussão, vou supor que se trata de o C e C++ serem as linguagens que se utilizam para programar para sistemas operativos que não o window$.

Não sei se percebi inteiramente o significado desta frase, mas, que eu saiba, é perfeitamente possível porgramar em C/C++ para Windows.

A não se que estejas a fazer aplicações de sistema (o que é raro), ou aplicações que tenham grandes requisitos de performance, ou que trabalhes na manutenção de sistemas de informação mais velhos. Então raramente vais ver C à frente... Vais ver Java, vais ver PHP, vais ver Perl, Python, Ruby e n outras linguagens e raramente vais ver C, ou C++. Eu ando nisto à alguns anos... E posso dizer que raramente vi aplicações em C, ou em C++ a serem desenvolvidas. Aliás as poucas que vi são aplicações mais velhas (todas com perto de 10 anos). Não digo que as linguagens não sejam usadas, são sim, mas pouco, quando comparado com as que disse.

Em primeiro, estamos a falar de .NET tem mais procura que C/C++ e não que C++ tem mais procura que todas as linguagens. Mas posso darte vários exemplos em que irias ver C à frente: jogos gráficos, aplicações cross-platform nativas, drivers, compiladores, kernel-level apps, bases de dados, embedded systems.

Relativamente às aplicações em C/C++ serem velhas e de não veres código nenhum escrito em C hoje em dia, eu digo-te que estás muito enganado, e basta-me referir 2 empresas: Critical Software, Wit Software. Ambas empresas portuguesas, ambas de nível europeu/mundial, e em ambas se trabalha em C/C++ (entre outras linguagens, não é exclusivo).

E mais:

iOS -> Objective-C, C e C++, 400.000 aplicações na App Store e sabe-se lá quantas não entraram e sairam já.

Android -> Aplicações feitas com o NDK, de entre as 250.000 que lá estão.

Aplicações symbian feitas em Qt.

Aplicações nativas para Blackberry.

De facto não são. Mas a quantidade de gente que trabalha neles é infinitamente inferior à que desenvolve a maior parte do software que é utilizado. Até porque estás a falar de software que é desenvolvido para satisfazer uma necessidades geral e esse software é a menor fatia do software que é desenvolvido (a maior parte é software desenvolvido à medida).

Ainda mais razão me dás...

Isso das tablets é uma ilusão... Assim como os netbooks foram...

1. Tens a certeza que é uma ilusão? Dá-me um prazo para que a ilusão se desvaneça e nessa altura voltamos a falar (já não é a primeira vez que me dizem isto, mas a primeira pessoa deu-me um prazo de 6 meses, completamente falhado).

2. Os APIs para tablets e smartphones, por enquanto são extremamente similares (de entre as grandes plataformas que compentem), pelo que, na maioria dos casos, pode-se programar para os dois dispositivos na mesma plataforma.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
falco
Consegues apresentar uma amostra válida? Força.

Não estou a dizer que consigo, estou a dizer que a tua não é.

Consegues apresentar uma amostra válida? Força.

Eu não sou fã da abordagem "o programador deve seguir o que o faz feliz". Muito pelo contrário. Para além de um bom programador se adequar facilmente a diferentes linguagens de programação, um bom programador também deve ter exposição sobre uma boa quantidade de linguagens, plataformas, frameworks,... de forma a que possa efectivamente saber o que se melhor adequa técnicamente ao problema em causa.

Discordo!

Eu sou a favor da especialização.

Ninguém consegue ser realmente bom a algo, se não se focar muito nessa coisa.

Não é preciso conhecer muita coisa diferente. Basta conhecer algumas (poucas), mas dominar bem essas coisas.

Um programador não tem que servir para todos os projectos. Nos casos em que é especialista na tecnologia que se vai utilizar num projecto serve, caso não seja, não serve e utiliza-se outro programador que seja especialista.

Por exemplo eu domino Perl, é a minha especialidade, também uso C com frequência, e dou uns toques em mais algumas coisas (Python por exemplo). Mas se me dispersar por mais linguagens nunca seria realmente bom nestas e como resultado o meu trabalho nunca seria tão bom. Quem me quiser a trabalhar com ele/a, tem que usar o que eu domino, caso contrário não é a mim que quer é a outra pessoa qualquer.

Não sei se percebi inteiramente o significado desta frase, mas, que eu saiba, é perfeitamente possível porgramar em C/C++ para Windows.

Não disse que não era... Eu estava a falar das linguagens de eleição para os programadores dos vários ambientes...

Em primeiro, estamos a falar de .NET tem mais procura que C/C++ e não que C++ tem mais procura que todas as linguagens.

.Net tem mais procura que C++... Como exemplos: quer C#, quer VB.net têm mais procura...

Mas posso darte vários exemplos em que irias ver C à frente: jogos gráficos, aplicações cross-platform nativas, drivers, compiladores, kernel-level apps, bases de dados, embedded systems.

Tudo coisas em que quase ninguém trabalha...

A maior parte dos programadores não está envolvido nesse tipo de aplicações, mas sim em sistemas de informação e aplicações web.

Relativamente às aplicações em C/C++ serem velhas e de não veres código nenhum escrito em C hoje em dia, eu digo-te que estás muito enganado, e basta-me referir 2 empresas: Critical Software, Wit Software. Ambas empresas portuguesas, ambas de nível europeu/mundial, e em ambas se trabalha em C/C++ (entre outras linguagens, não é exclusivo).

Não estou nada enganado! Até porque não foi isso que eu disse. Eu disse que exceptuando alguns tipos de aplicações que são de nichos. Que o resto é de forma geral software mais velho. E isto não é de forma alguma o mesmo que tu estás a dizer que eu disse. E sim essas empresas desenvolvem software para nichos.

E mais:

iOS -> Objective-C, C e C++, 400.000 aplicações na App Store e sabe-se lá quantas não entraram e sairam já.

Android -> Aplicações feitas com o NDK, de entre as 250.000 que lá estão.

Aplicações symbian feitas em Qt.

Aplicações nativas para Blackberry.

São aplicações pequenas... E poucas delas são desenvolvidas profissionalmente... (Estamos a falar da importância das linguagens no mercado de trabalho)... E mais uma vez é um nicho...

Ainda mais razão me dás...

Não dou não... A afirmação que eu fiz, não te dá razão em ponto absolutamente nenhum...

1. Tens a certeza que é uma ilusão? Dá-me um prazo para que a ilusão se desvaneça e nessa altura voltamos a falar (já não é a primeira vez que me dizem isto, mas a primeira pessoa deu-me um prazo de 6 meses, completamente falhado).

2. Os APIs para tablets e smartphones, por enquanto são extremamente similares (de entre as grandes plataformas que compentem), pelo que, na maioria dos casos, pode-se programar para os dois dispositivos na mesma plataforma.

Não sou bruxo... Mas sei reconhecer uma coisa chamada hype e outra chamada marketing... Tu aparentemente não... E tu também não pareces saber reconhecer que a maior parte das pessoas não tem tanto dinheiro para dar por um dispositivo tão pouco diferenciado em relação a um smartphone e a um netbooke e a um laptop...

As API serem idênticas, não faz isoladamente com que a quantidade de dispositivos vendam mais, há muitos mais factores a ter em conta, que podem até fazer com que essa vantagem seja irrelevante em comparação com um maior número de desvantagens.

Não digo que os tablets vão desaparecer... Longe disso, mas a febre dos tablets vai desaparecer... Eles não estão a vender assim tanto... E daqui a uns tempos aparece outro tipo de dispositivo qualquer (mais, ou menos diferenciado) que ultrapassa o hype dos tablet.

Share this post


Link to post
Share on other sites
KTachyon

Discordo!

Eu sou a favor da especialização.

Ninguém consegue ser realmente bom a algo, se não se focar muito nessa coisa.

Não é preciso conhecer muita coisa diferente. Basta conhecer algumas (poucas), mas dominar bem essas coisas.

Um programador não tem que servir para todos os projectos. Nos casos em que é especialista na tecnologia que se vai utilizar num projecto serve, caso não seja, não serve e utiliza-se outro programador que seja especialista.

Por exemplo eu domino Perl, é a minha especialidade, também uso C com frequência, e dou uns toques em mais algumas coisas (Python por exemplo). Mas se me dispersar por mais linguagens nunca seria realmente bom nestas e como resultado o meu trabalho nunca seria tão bom. Quem me quiser a trabalhar com ele/a, tem que usar o que eu domino, caso contrário não é a mim que quer é a outra pessoa qualquer.

Não significa que tu não possas ter conhecimentos de outras linguagens e seres "adequado" para desenvolveres numa linguagem que não tenhas tanto conhecimento. Ou mesmo, adequares-te.

.Net tem mais procura que C++... Como exemplos: quer C#, quer VB.net têm mais procura...

Nem apresentas provas, nem aceitas as que eu apresento, logo, ya, tens razão. O dogma rula.

Tudo coisas em que quase ninguém trabalha...

A maior parte dos programadores não está envolvido nesse tipo de aplicações, mas sim em sistemas de informação e aplicações web.

Quase ninguém trabalha? Embedded systems? Tens noção do mercado de trabalho que há para isto?

Não estou nada enganado! Até porque não foi isso que eu disse. Eu disse que exceptuando alguns tipos de aplicações que são de nichos. Que o resto é de forma geral software mais velho. E isto não é de forma alguma o mesmo que tu estás a dizer que eu disse. E sim essas empresas desenvolvem software para nichos.

São aplicações pequenas... E poucas delas são desenvolvidas profissionalmente... (Estamos a falar da importância das linguagens no mercado de trabalho)... E mais uma vez é um nicho...

Aplicações pequenas? Não desenvolvidas profissionalmente? O que queres dizer com isso?

Em primeiro lugar, eu tenho aplicações no meu telemóvel que são tudo menos pequenas, chegando a ocupar mais de 400MB (6 apps), mas claro, que podemos argumentar se de facto toda essa quantidade se consegue traduzir em código desenvolvido.

Eu recebo propostas de empresas todas as semanas a pedirem um iOS developer para desenvolver aplicações internas, e tu dizes-me que as são poucas as desenvolvidas profissionalmente? E, as aplicações existentes para dispositivos móveis, são poucas as desenvolvidas profissionalmente? Eu não sei o que queres dizer com isto, mas para além de já ter trabalhado em empresas cujo modelo negócio era todo feito à volta de desenvolvimentos de aplicações para dispositivos móveis, vê lá se não existem grandes empresas a desenvolver aplicações para estes dispositivos? Mas desenvolvem-nas "não-profissionalmente", claro...

Não sou bruxo... Mas sei reconhecer uma coisa chamada hype e outra chamada marketing... Tu aparentemente não... E tu também não pareces saber reconhecer que a maior parte das pessoas não tem tanto dinheiro para dar por um dispositivo tão pouco diferenciado em relação a um smartphone e a um netbooke e a um laptop...

É o teu ponto de vista, mas veremos... Parece que muitas empresas cairam no hype e decidiram ir atrás e fazer também tablets, simplesmente porque parece que vendem. Não houve nenhuma análise de mercado.

Em relação à diferenciação, só tenho a dizer que estás redondamente enganado. Ninguém dá a mesma utilidade a um tablet que a um netbook ou um laptop. Daí a canibalização dos netbooks por tablets.

As API serem idênticas, não faz isoladamente com que a quantidade de dispositivos vendam mais, há muitos mais factores a ter em conta, que podem até fazer com que essa vantagem seja irrelevante em comparação com um maior número de desvantagens.

Não digo que os tablets vão desaparecer... Longe disso, mas a febre dos tablets vai desaparecer... Eles não estão a vender assim tanto... E daqui a uns tempos aparece outro tipo de dispositivo qualquer (mais, ou menos diferenciado) que ultrapassa o hype dos tablet.

As APIs serem idênticas não faz com que os dispositivos vendam mais, mas permite que facilmente desenvolvas para ambos. Em vez de 100 milhões, tens acesso a 200 milhões de dispositivos.

Em 9 meses, 15 milhões de iPads, cheira-me que a coisa não está a vender assim tanto. Até porque as plataformas mais bem sucedidas de smartphones estão a vender 16 milhões a cada 3 meses. Obviamente que os tablets, ao demorarem 3x mais tempo a conseguirem vender tanto como os smartphones, é, claramente, um mercado falhado. Por favor...


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
falco
Não significa que tu não possas ter conhecimentos de outras linguagens e seres "adequado" para desenvolveres numa linguagem que não tenhas tanto conhecimento. Ou mesmo, adequares-te.

Se souberes de demasiadas coisas diferentes acabas por não ser suficientemente bom em nada.

Nem apresentas provas, nem aceitas as que eu apresento, logo, ya, tens razão. O dogma rula.

Queres provas?

Dou-te várias estatisticas que contradizem o que tu dizes e que são tão válidas quanto a tua:

1) Fiz várias querys no site indeed.com. Por programadores, engenheiros e developers... E coloquei algumas linguagens... E para que não fiquem dúvidas eis as querys:

http://www.indeed.com/jobtrends?q=C+developer%2C+C%2B%2B+developer%2C+Objective+C+developer%2C+.Net+developer%2C+C%23+developer%2C+VB.net+developer%2C+PHP+developer%2C+Java+developer&l=

http://www.indeed.com/jobtrends?q=C+engineer%2C+C%2B%2B+engineer%2C+Objective+C+engineer%2C+.Net+engineer%2C+C%23+engineer%2C+VB.net+engineer%2C+PHP+engineer%2C+Java+engineer&l=

http://www.indeed.com/jobtrends?q=c+programmer%2C+c%2B%2B+programmer%2C+objective+c+programmer%2C+.net+programmer%2C+java+programmer%2C+c%23+programmer%2C+php+programmer&l=

2) http://www.itjobswatch.co.uk/ <- tem um índice...

3) http://www.itjobs.pt a nuvem...

4) As mesmas querys que fiz no indeed.com no simply hired:

http://www.simplyhired.com/a/jobtrends/trend/q-C+developer%2C+C%2B%2B+developer%2C+Objective+C+developer%2C+.Net+developer%2C+C%23+developer%2C+VB.net+developer%2C+PHP+developer%2C+Java+developer

http://www.simplyhired.com/a/jobtrends/trend/q-C+engineer%2C+C%2B%2B+engineer%2C+Objective+C+engineer%2C+.Net+engineer%2C+C%23+engineer%2C+VB.net+engineer%2C+PHP+engineer%2C+Java+engineer

http://www.simplyhired.com/a/jobtrends/trend/q-c+programmer%2C+c%2B%2B+programmer%2C+objective+c+programmer%2C+.net+programmer%2C+java+programmer%2C+c%23+programmer%2C+php+programmer

E se analisarem o crescimento dos pedidos de emprego (é possível em alguns dos exemplos que dei) vão ver que o crescimento do C é muito inferior ao crescimento de .net e de java e de php e do objective C...

Apresentaste uma estatística qualquer, eu apresentei várias que te contradizem...

Quase ninguém trabalha? Embedded systems? Tens noção do mercado de trabalho que há para isto?

Sim. Apesar desse mercado estar a crescer ele ainda é relativamente pequeno.

Aplicações pequenas? Não desenvolvidas profissionalmente? O que queres dizer com isso?

Quero dizer exactamente o que disse.

Em primeiro lugar, eu tenho aplicações no meu telemóvel que são tudo menos pequenas, chegando a ocupar mais de 400MB (6 apps), mas claro, que podemos argumentar se de facto toda essa quantidade se consegue traduzir em código desenvolvido.

E é provável que não, a maior parte deve estar relacionada com elementos da UI.

Eu recebo propostas de empresas todas as semanas a pedirem um iOS developer para desenvolver aplicações internas, e tu dizes-me que as são poucas as desenvolvidas profissionalmente?

Sim!

Quando comparado com outros domínios ainda é isso que acontece!

Não quer dizer que a coisa não esteja a mudar, mas ainda é isso.

É o teu ponto de vista, mas veremos... Parece que muitas empresas cairam no hype e decidiram ir atrás e fazer também tablets, simplesmente porque parece que vendem. Não houve nenhuma análise de mercado.

Em relação à diferenciação, só tenho a dizer que estás redondamente enganado. Ninguém dá a mesma utilidade a um tablet que a um netbook ou um laptop. Daí a canibalização dos netbooks por tablets.

Não estou enganado... Aliás contradisseste-te... Se foram canibalizados é porque se sobrepunham...

Em 9 meses, 15 milhões de iPads, cheira-me que a coisa não está a vender assim tanto. Até porque as plataformas mais bem sucedidas de smartphones estão a vender 16 milhões a cada 3 meses. Obviamente que os tablets, ao demorarem 3x mais tempo a conseguirem vender tanto como os smartphones, é, claramente, um mercado falhado. Por favor...

Esse números a nível global são pequenos... E não significam que no futuro as vendas continuem assim. Eu acho que os tablets estão a ocupar o seu espaço natural no mercado, mas que assim que estiver ocupado o crescimento vai cair a pico (pelo menos enquanto não surgirem dispositivos a preços acessíveis e enquanto as condições económicas não mudarem).

E tirando geeks e pessoas mais ricas que conheço ninguém tem uma coisa, nem a outra.

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Se me permitem, gostava de dar a minha opinião.

As pessoas devem fazer o que gostam e lhe dá prazer, não aquilo que dá mais dinheiro e/ou vantagens. Na minha opinião, este é um grande problema dos portugueses! Uma pessoa que trabalha por gosto, trabalha e faz melhor! E, por isso, se a maioria das pessoas trabalhasse na área que realmente gosta, não tenho dúvidas que seriamos um país muito melhor. Aliás, acho que até podemos ver isso na agricultura... Por exemplo: Portugal tem dos melhores produtos alimentares porquê!? Por quem trabalha neles, faz-o por gosto e não por dinheiro!

Com isto, quero dizer que acho quem quiser ser programador, antes de pensar em que linguagem programar deve pensar para que programar? Para a web? Windows? Iphone? Android? Etc... E depois, procurar a linguagem que mais lhe agrada... Pessoalmente, eu tenho conhecimentos em várias linguagens de programação, mas o PHP é realmente aquela que eu gosto. Pode-se dizer que foi o meu "primeiro namoro" com a programação...

Quero salientar que um programador pode conhecer 69 linguagens de programação, mas que só consegue ser realmente bom numa. É muito raro e difícil haver alguém que seja bom em mais que uma linguagem de programação.

Notas

É importante que um "programador", seja na verdade um desenvolvedor e não um programador...

Ser um bom programador não é só saber a sintaxe. É conhecer bem a linguagem, saber como tirar melhor proveito dela, etc...

É mais importante ser um bom programador de uma dada linguagem, do que saber 69 linguagens de programação e não ser um bom programador em nenhuma delas

É só a minha opinião :P

Share this post


Link to post
Share on other sites
KTachyon

Se souberes de demasiadas coisas diferentes acabas por não ser suficientemente bom em nada.

Eu continuo a discordar. Tu podes ser bastante bom a programar numa linguagem, em duas ou três... Tal como podes falar em várias línguas diferentes. A diferença entre programar e falar uma língua é que, normalmente a língua que falas é composta por muito mais regras semânticas e excepções às regras que uma linguagem de programação (até porque é bastante mais complicado de criar um validador de linguagem humana que de uma linguagem de programação). E as linguagens de programação ainda têm mais uma vantagem, que é terem por base a lógica matemática. Se tu sabes programar numa linguagem, sabes programar em muitas outras, só tens que te adaptar à sintaxe. E o facto de te teres desviado da tua linguagem inícial não te faz esquecer como se programa nessa linguagem, ou faz? Se um dia o .NET deixar de ser utilizado, vais pedir a reforma antecipada porque já não tens condições de trabalho? Se calhar não... e se calhar até te vais adaptar a programar noutra linguagem de programação e, provavelmente não vais ter que aprender tudo outra vez...

Eu já tive situações em que programei alguns algoritmos em C, que consistiam em dezenas de funções, e depois achou-se necessário portar esse código para Java. Segundo a tua solução, contratava-se um engenheiro especialista em Java para o fazer. Mesmo assumindo que o meu código estava bem documentado e legível, quem é que achas que ganhava a corrida na re-implementação do algoritmo? Eu que já conheço os cantos à casa, ou o engenheiro que é especialista, mas ainda tem que ir ler a documentação e perceber o que faz efectivamente o código?

Mas, para melhor contradizer esse teu ponto de vista, vou dar-te um exemplo melhor:

Quem desenvolve compiladores e interpretadores tem que saber, pelo menos 3 linguagens: A linguagem a ser compilada, a linguagem com que se desenvolve e assembly. Se adicionares algumas linguagens que facilitam o processo de desenvolvimento de compiladores, por exemplo, Lex e Yacc, temos 5 linguagens diferentes. Pobres almas, não se conseguem especializar em nenhuma linguagem... O mais engraçado é que aquilo que programamos depende do trabalho desses senhores...

Queres provas?

Dou-te várias estatisticas que contradizem o que tu dizes e que são tão válidas quanto a tua:

1) Fiz várias querys no site indeed.com. Por programadores, engenheiros e developers... E coloquei algumas linguagens... E para que não fiquem dúvidas eis as querys:

http://www.indeed.com/jobtrends?q=C+developer%2C+C%2B%2B+developer%2C+Objective+C+developer%2C+.Net+developer%2C+C%23+developer%2C+VB.net+developer%2C+PHP+developer%2C+Java+developer&l=

http://www.indeed.com/jobtrends?q=C+engineer%2C+C%2B%2B+engineer%2C+Objective+C+engineer%2C+.Net+engineer%2C+C%23+engineer%2C+VB.net+engineer%2C+PHP+engineer%2C+Java+engineer&l=

http://www.indeed.com/jobtrends?q=c+programmer%2C+c%2B%2B+programmer%2C+objective+c+programmer%2C+.net+programmer%2C+java+programmer%2C+c%23+programmer%2C+php+programmer&l=

2) http://www.itjobswatch.co.uk/ <- tem um índice...

3) http://www.itjobs.pt a nuvem...

4) As mesmas querys que fiz no indeed.com no simply hired:

http://www.simplyhired.com/a/jobtrends/trend/q-C+developer%2C+C%2B%2B+developer%2C+Objective+C+developer%2C+.Net+developer%2C+C%23+developer%2C+VB.net+developer%2C+PHP+developer%2C+Java+developer

http://www.simplyhired.com/a/jobtrends/trend/q-C+engineer%2C+C%2B%2B+engineer%2C+Objective+C+engineer%2C+.Net+engineer%2C+C%23+engineer%2C+VB.net+engineer%2C+PHP+engineer%2C+Java+engineer

http://www.simplyhired.com/a/jobtrends/trend/q-c+programmer%2C+c%2B%2B+programmer%2C+objective+c+programmer%2C+.net+programmer%2C+java+programmer%2C+c%23+programmer%2C+php+programmer

E se analisarem o crescimento dos pedidos de emprego (é possível em alguns dos exemplos que dei) vão ver que o crescimento do C é muito inferior ao crescimento de .net e de java e de php e do objective C...

Apresentaste uma estatística qualquer, eu apresentei várias que te contradizem...

Nice. Não deixo de ficar curioso de o C/C++ ficarem à frente nos cargos de título "Engineer". Mas pronto, apresentaste um conjunto de estatísticas, tal como eu te apresentei um conjunto de estatísticas aglomeradas numa só. Para além disso, numa das estatísticas o C/C++ fica à frente, parece-me. E existem outros cargos em que não explicitam a linguagem de programação utilizada e que pode facilmente impulsionar para o lado do C/C++. Mas não vou argumentar.

Mas, mais uma vez, as estatísticas dão-me razão ao dizer que .NET não é tudo, que foi o que eu argumentei na resposta inicial do tópico.

E é provável que não, a maior parte deve estar relacionada com elementos da UI.

Sendo muitas deas jogos, tipo Myst, Riven, Infinity Blade,... Uma é um guia turístico. O binário do Riven ainda ocupa uns 60MB, no meio de 1GB de recursos. O do Myst, 30MB, o do Infinity Blade, 20MB... Não são exactamente projectos de uma semana.

Não estou enganado... Aliás contradisseste-te... Se foram canibalizados é porque se sobrepunham...

Não há contradição. O iPad ao ter o sucesso que teve, canibalizando os netbooks, mostrou que a maioria do mercado que compra netbooks não pretendia, de facto, um netbook. É um produto substituto. Os netbooks ainda vendem, mas é um mercado distinto do dos tablets.

Esse números a nível global são pequenos... E não significam que no futuro as vendas continuem assim. Eu acho que os tablets estão a ocupar o seu espaço natural no mercado, mas que assim que estiver ocupado o crescimento vai cair a pico (pelo menos enquanto não surgirem dispositivos a preços acessíveis e enquanto as condições económicas não mudarem).

E tirando geeks e pessoas mais ricas que conheço ninguém tem uma coisa, nem a outra.

Os 'geeks' que eu conheço não vêm utilidade num iPad. Na realidade criticam a utilidade do aparelho (de facto, eu também não achei utilidade nele ou em qualquer outra tablet). Mas a questão é que nem toda a gente é geek, e o facto é que ninguém conseguiu prever a aderência do dispositivo, porque não perceberam a utilidade que muitas pessoas lhe conseguiam dar. As previsões iniciais apontavam para 3-4 milhões num ano, e foram aumentadas para 10 milhões nos primeiros 3 meses. Em 9 meses já foram 15 milhões, bem acima do previsto para 1 ano. Agora que os analistas já podem estimar valores com mais conhecimento de causa, já apontam para o triplo de vendas em 2012.

Eu já sigo alguns analistas há já alguns anos e são extremamente raras as vezes que os resultados se afastavam muito da verdade. De facto, no que toca a empresas como a Apple, a IBM, a Oracle, o Google, 99% das vezes são estatísticas conservadoras (ou muito conservadoras).


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
KTachyon

Já agora, (eu disse que não ia argumentar, mas lembrei-me de um pequeno detalhe), em vez de procurares por:

engineer

programmer

developer

procura por:

engineering

programming

development

E vê o .NET a levar uma abada.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
falco
Se tu sabes programar numa linguagem, sabes programar em muitas outras, só tens que te adaptar à sintaxe.

Isso tem muito mais que se lhe diga!

Conhecer e ser verdadeiramente competente a programar numa linguagem está longe de ser apenas conhecimento da sintaxe!

E é triste que alguém que exibe o seu grau de Mestre de Engenharia Informática diga uma coisa dessas!!!

Em primeiro lugar muitas vezes as linguagens têm nuances sintácticas que exigem um grande investimento de tempo e de prática na sua aprendizagem.

Em segundo lugar saber a sintaxe de uma linguagem não significa saber qual a melhor forma de utilizar a sintaxe dessa linguagem para resolver determinado problema dentro de determinados requisitos. Por vezes é preciso ter conhecimento de aspectos menos óbvios e internos da linguagem, para por exemplo poder saber manipular tabelas de simbolos de um interpretador, ou saber qual o tipo de dados que vai permitir ter mais rapidez, ou poupar mais memória em determinadas circunstâncias, quais os algoritmos utilizados em determinadas funções built-in (para saber se temos que criar uma implementação alternativa), etc...

Este tipo de conhecimento a respeito de uma linguagem só existe quando não nos dispersamos muito, por muitas linguagens.

E o facto de te teres desviado da tua linguagem inícial não te faz esquecer como se programa nessa linguagem, ou faz?

Faz!

Por exemplo já me lembro pouco de PHP, de não o utilizar.

Mais ainda as linguagens de programação mudam. Surgem novos operadores, surgem novas funções (ou mudam os seus parametros), mudam as API, mudam-se algoritmos de funções, mudam-se boas práticas, etc...

Um gajo que soubesse programar numa versão anterior à de 5.8.8, do Perl ainda conseguia programar em Perl na versão mais recente 5.12.3 (porque o Perl é muito retro-compatível). Mas não seria nem de perto tão bom profissional, se não tivesse o conhecimento e a prática a respeito das muitas diferenças.

Se um dia o .NET deixar de ser utilizado, vais pedir a reforma antecipada porque já não tens condições de trabalho?

Eu não programo em .Net... Nem sequer em ambientes window$... E não é provável que o .Net, ou que as tecnologias que eu uso, deixem de ser utilizados enquanto eu ainda trabalhar. Mas caso desaparecessem, não pedia reforma mas teria que escolher outra tecnologia para me especializar e iria demorar algum tempo até eu ser tão bom profissional com essa tecnologia como posso ser com as que já me especializei.

e, provavelmente não vais ter que aprender tudo outra vez...

Iria sim!

Assim como aprendo todos os dias em relação às tecnologias em que sou especialista. Um especialista só é especialista se não parar de aprender a praticar. No dia em que não o faz, começa a ser menos especialista, até o deixar de ser.

Segundo a tua solução, contratava-se um engenheiro especialista em Java para o fazer.

Não necessariamente!

Eu acho que um bom técnico especializado numa tecnolgia, pode dominar bastante bem um determinado (pequeno número de tecnologias)... Claro que ao longo da carreira esse número de tecnologias até pode aumentar, mas se for demasiado grande ele acaba por não conseguir acompanhar a mudança e a sua qualidade como especialista degrada-se.

Pode perfeitamente haver um especialista em C que também domina bastante bem o Java... Não acho que é que ele (ou qualquer outro) vai dominar bastante bem um número muito grande de linguagens.

Eu por exemplo como  programador domini C razoavelmente e não seria capaz de portar o código que aqui tenho de C para Java e fazer um bom trabalho (até porque acho que já não me lembro do quase nada que sabia de Java). Certamente que recusaria essa tarefa se ma propusessem e ainda o chamaria de louco/a.

Quem desenvolve compiladores e interpretadores tem que saber, pelo menos 3 linguagens: A linguagem a ser compilada, a linguagem com que se desenvolve e assembly.

Isso é um número pequeno de linguagens... E mesmo as 5 que referes é ainda um número razoável de linguagens. Mas nesse caso das 5 certamente que já vão haver diferenças significativas de um profissional que não tenha muitos anos de experiência, na qualidade do código que produz com essas linguagens.

Mas, mais uma vez, as estatísticas dão-me razão ao dizer que .NET não é tudo, que foi o que eu argumentei na resposta inicial do tópico.

Desculpa, mas não foi isso que disseste, nem o que eu disse. O que disseste era que o C e o C++ eram os mais utilizados e eu disse que não. Que o C e o C++ são menos utilizados que o .Net e que o Java, e que o C e C++ são mais usados em nichos e em sistemas mais antigos. Isto tudo no que se refere à relevância para a empregabilidade de um profissional.

Os 'geeks' que eu conheço não vêm utilidade num iPad.

Os que conheço dividem-se entre os que pensam dessa forma e os que acham que é útil.

Mas a questão é que nem toda a gente é geek,

Pois não ainda há os que têm um nível de vida acima do comum e compram por ser da Apple e/ou para exibir a sua riqueza.

E vê o .NET a levar uma abada.

O teu exemplo não é muito bom.

Porquê?

"Engineering" não é um termo que se costume utilizar para referir um requisito numa linguagem, mas sim um nome de um curso. Isso provavelmente não relaciona o anuncio com a tecnologia mas sim com algum curso, e provavelmente o anuncio refere várias outras tecnologias...

Os termos que eu utilizei embora também sejam susceptíveis ao problema que falei no paragrafo anterior. Mas permitem também um muito maior relacionamento do anuncio, com a tecnologia requirida. Por exemplo não se coloca um anuncio a dizer: «quero alguém com um curso de engenharia em C», mas sim programador de C. Os outros dois termos que utilizaste, não são tão maus quanto esse, mas também não são tão bons quanto os que referi.

Share this post


Link to post
Share on other sites
KTachyon

Isso tem muito mais que se lhe diga!

Conhecer e ser verdadeiramente competente a programar numa linguagem está longe de ser apenas conhecimento da sintaxe!

E é triste que alguém que exibe o seu grau de Mestre de Engenharia Informática diga uma coisa dessas!!!

Em primeiro lugar muitas vezes as linguagens têm nuances sintácticas que exigem um grande investimento de tempo e de prática na sua aprendizagem.

Em segundo lugar saber a sintaxe de uma linguagem não significa saber qual a melhor forma de utilizar a sintaxe dessa linguagem para resolver determinado problema dentro de determinados requisitos. Por vezes é preciso ter conhecimento de aspectos menos óbvios e internos da linguagem, para por exemplo poder saber manipular tabelas de simbolos de um interpretador, ou saber qual o tipo de dados que vai permitir ter mais rapidez, ou poupar mais memória em determinadas circunstâncias, quais os algoritmos utilizados em determinadas funções built-in (para saber se temos que criar uma implementação alternativa), etc...

Este tipo de conhecimento a respeito de uma linguagem só existe quando não nos dispersamos muito, por muitas linguagens.

Faz!

Por exemplo já me lembro pouco de PHP, de não o utilizar.

Mais ainda as linguagens de programação mudam. Surgem novos operadores, surgem novas funções (ou mudam os seus parametros), mudam as API, mudam-se algoritmos de funções, mudam-se boas práticas, etc...

Um gajo que soubesse programar numa versão anterior à de 5.8.8, do Perl ainda conseguia programar em Perl na versão mais recente 5.12.3 (porque o Perl é muito retro-compatível). Mas não seria nem de perto tão bom profissional, se não tivesse o conhecimento e a prática a respeito das muitas diferenças.

Eu não programo em .Net... Nem sequer em ambientes window$... E não é provável que o .Net, ou que as tecnologias que eu uso, deixem de ser utilizados enquanto eu ainda trabalhar. Mas caso desaparecessem, não pedia reforma mas teria que escolher outra tecnologia para me especializar e iria demorar algum tempo até eu ser tão bom profissional com essa tecnologia como posso ser com as que já me especializei.

Iria sim!

Assim como aprendo todos os dias em relação às tecnologias em que sou especialista. Um especialista só é especialista se não parar de aprender a praticar. No dia em que não o faz, começa a ser menos especialista, até o deixar de ser.

Eu vou continuar a não concordar contigo. Uma coisa é, tu não quereres especializar-te em mais do que uma linguagem de programação, outra coisa é não ser possível. E, sim, tens toda a razão quando dizes que a prática é importante, e que há hábitos e tweaks que  só se ganham com bastante prática na linguagem. Mas não estamos a falar de uma vida inteira. Tu a programar diáriamente numa linguagem de programação, ao fim de 2/3 anos já és considerado especialista. Se deixares de programar nessa linguagem durante 2 anos, quando voltares, as novas práticas vão-se obtendo, tal como quando começaste a programar inicialmente. A não ser que estejas numa ilha, completamente desligado da rede. Se estiveres constantemente a trabalhar em 2, 3, 4 linguagens de programação, intercaladas, vais deixar de poder ser especialista em qualquer uma delas? Eu acho que não, e penso que não é assim tão complicado de se aguentar.

Não necessariamente!

Eu acho que um bom técnico especializado numa tecnolgia, pode dominar bastante bem um determinado (pequeno número de tecnologias)... Claro que ao longo da carreira esse número de tecnologias até pode aumentar, mas se for demasiado grande ele acaba por não conseguir acompanhar a mudança e a sua qualidade como especialista degrada-se.

Pode perfeitamente haver um especialista em C que também domina bastante bem o Java... Não acho que é que ele (ou qualquer outro) vai dominar bastante bem um número muito grande de linguagens.

Eu por exemplo como  programador domini C razoavelmente e não seria capaz de portar o código que aqui tenho de C para Java e fazer um bom trabalho (até porque acho que já não me lembro do quase nada que sabia de Java). Certamente que recusaria essa tarefa se ma propusessem e ainda o chamaria de louco/a.

Isso é um número pequeno de linguagens... E mesmo as 5 que referes é ainda um número razoável de linguagens. Mas nesse caso das 5 certamente que já vão haver diferenças significativas de um profissional que não tenha muitos anos de experiência, na qualidade do código que produz com essas linguagens.

São perspectivas. Se quem desenvolve os compiladores, não só pode, como tem que fazer... Se calhar a coisa não é tão complicada como isso. :P

Desculpa, mas não foi isso que disseste, nem o que eu disse. O que disseste era que o C e o C++ eram os mais utilizados e eu disse que não. Que o C e o C++ são menos utilizados que o .Net e que o Java, e que o C e C++ são mais usados em nichos e em sistemas mais antigos. Isto tudo no que se refere à relevância para a empregabilidade de um profissional.

O teu exemplo não é muito bom.

Porquê?

"Engineering" não é um termo que se costume utilizar para referir um requisito numa linguagem, mas sim um nome de um curso. Isso provavelmente não relaciona o anuncio com a tecnologia mas sim com algum curso, e provavelmente o anuncio refere várias outras tecnologias...

Os termos que eu utilizei embora também sejam susceptíveis ao problema que falei no paragrafo anterior. Mas permitem também um muito maior relacionamento do anuncio, com a tecnologia requirida. Por exemplo não se coloca um anuncio a dizer: «quero alguém com um curso de engenharia em C», mas sim programador de C. Os outros dois termos que utilizaste, não são tão maus quanto esse, mas também não são tão bons quanto os que referi.

Inicialmente eu disse que Java e C/C++ eram utilizados mais que .NET, pelo que a resposta foi que Java = Ok, mas C/C++ não. As estatísticas mostram muita coisa diferente. O "Engineering" pode ser utilizado para se referirem competências necessárias, por exemplo: "Expert C++ engineering skills", que até é um ponto recorrente. Tal como com programming e developing. Sinceramente, não vejo isto a chegar a lado nenhum. Parece que já estamos a discutir a margem de diferença, que penso que já seja completamente irrelevante.

Os que conheço dividem-se entre os que pensam dessa forma e os que acham que é útil.

Pois não ainda há os que têm um nível de vida acima do comum e compram por ser da Apple e/ou para exibir a sua riqueza.

Mas há quem realmente compre pela utilidade. Na empresa onde trabalho já falaram em arranjar-me um para eu fazer a gestão de um conjunto de servidores por que estou responsável. Confesso que até reparei no potêncial de utilidade a nível profissional, mas para além disso penso que não tenho necessidade de gastar do meu próprio dinheiro num. Tenho outras prioridades, diga-se.

Mas, só pelo facto de haver utilidade para ele, significa que há um mercado. E não é preciso procurar muito. Já houve uma altura em que apareceu uma enchente de projectos para aplicações no ramo da medicina para serem implementadas no iPad. Participei num desses projectos, a nível académico, onde o objectivo seria os médicos poderem consultar as fichas dos pacientes no dispositivo, aceder a prescrições, visualizar radiografias e TACs, com a utilização do acelerometro para fazer a visualização. Tudo bem que foi necessário implementar um servidor que comunicasse nos protocolos HL7 e DICOM com os serviços do hospital, fizesse o streaming das imagens para o(s) iPad(s) e efectuasse as translações e rotações que fossem pedidas. E até conseguímos resultados bastante positivos. Durante esse processo apareceram uma quantidade enorme de aplicações do género para iPad, e, aparentemente, alguns hospitais começaram logo a encomendar os dispositivos para utilização interna. A previsão é continuar a escalar...


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
bioshock

Relativamente às sintaxes isso é cagativo (passo a expressão) para quem já têm conhecimentos em alguma linguagem de programação.

A linguagem que aprendi e me sinto mais à vontade é VB.NET. No ano de 2010 o meu estágio curricular foi numa empresa de web, onde a linguagem usada era e é PHP. É preciso dizer mais alguma coisa? 🤔

Não foi por isso que deixei de aprender a programar em PHP, mas bati muitas vezes com a cabeça por pontos-e-vírgulas não colocados :wallbash: (típico :P )

Relativamente ao mercado: têm um peso substancial sim, a não ser que sejas rico para estar à espera a vida toda para que te apareça a tua linguagem de eleição ;)

Imagina que a tua linguagem preferida e que tanto veneras é Python. Tiras o teu curso, sais cá para fora com as expectativas todas em alta. Azar do caraças, no teu distrito não oferecem emprego nessa área, ou os que oferecem querem alguém já com experiência de dois anos. A linguagem que aprendeste e que idolatras de nada te vai servir, como disse, ou esperas..ou fazes-te à vida.

Share this post


Link to post
Share on other sites
xtrm0

Esta discussão é estupida  👎

Citação de: falco em 28 de Março de 2011, 14:56:

    Isso das tablets é uma ilusão... Assim como os netbooks foram...

Citação de: Steve Ballmer(presidente executivo da microsoft):

There's no chance that the iPhone is going to get any significant market share. No chance.

@Falcon, daqui a dez anos quando tiver toda a gente com ipads 5 e galaxys tabs 4, falamos.

C++/C e Java, são linguagens muito mais complexas, rapidas e têm muito mais uso que VB.NET e C# (que na minha opinião são só usadas por principiantes ou por gestores de websites.)

E quanto a procura no estrangeiro e em Portugal, há muita, mesmo muita procura para java, no que toca a desenvolvimento de software de gestão de empresas. E ainda mais procura de c++, no que toca a desenvolvimento de jogos.

Queres provas?

1- VB.NET e C# são bastante lentos no que toca a conectividade em rede. As bibliotecas chegam a demorar 5 ou 6x mais que uma biblioteca que não fosse da microsoft (Nem tou a dizer que precisa de ser c).

2-Vai ao site da blizard ou da E.A. e manda-lhes um mail a perguntar se usam VB.NET ou C# para desenvolver os SIMS (só para ver o que é que eles te dizem).

3-CHUCK NORRIS USES C++  :cheesygrin:


<Signature goes here>

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Ser um bom programador não é só saber a sintaxe. É conhecer bem a linguagem, saber como tirar melhor proveito dela, etc...

É mais importante ser um bom programador de uma dada linguagem, do que saber 69 linguagens de programação e não ser um bom programador em nenhuma delas

Disse, repito e sublinho !

Mudem a vossa mentalidade de "eu sei tudo" ! Até porque "programador" não deve ser visto como uma profissão, mas sim como uma área. As profissões são: programador java, programador php, programador vb, etc.

Na minha opinião, quem aspira a ser programador deve-se especializar numa linguagem. Depois, é óbvio estudar outras linguagens é bom a vários níveis. Contudo, tenho a certeza que são muito raras as pessoas que conhecem perfeitamente mais do que uma linguagem de programação, por motivos que já foram referidos anteriormente.

Mais, uma pessoa que diz "eu sei 69 linguagens de programação" e alguém lhe pergunta "em qual te sentes mais à vontade?" e ele responde "em todas". Então, desculpem mas não passa de um "ajudante", ou melhor.. não é um programador para grandes projectos, porque na realidade não conhecem bem nenhuma delas e não sabe como tirar o melhor de qualquer uma delas.

Aliás, podemos comparar esta situação a quem trabalha na construção civil. Por exemplo, há muitos pedreiros que sabem electricidade, canalização, etc. Mas, na verdade só são bons como pedreiros. A electricidade e canalização são outras coisas que também sabem fazer, mas que como é óbvio os electricistas e canalizadores fazem-no melhor. Simples.

É só a minha opinião :P

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.