É possivel uma pessoa criar um Sistema Operacional só na Programação ?

Autor Mensagem
Essa Coca é Fanta
Veterano
# set/10
· votar


Bog
Mas eu não sou programador de C++. Sou pesquisador. Um pesquisador que precisa programar bastante, mas pesquisador.

Se eu me candidatasse a qualquer emprego normal no mundo corporativo, teria sérias dificuldades em ser contratado. Na melhor das hipóteses, precisaria dar uma bela estudada em vários assuntos, só para poder competir com gente que está se formando agora.


kkkkkkkkkkkkkkkkkkkkkkkkkkkkk Pesquisar que precisa programar, legal "Vai que cola..". Você é feliz ou está satisfeito com que faz ?

Não existe trabalho ruim, ruim é ter que trabalhar. =P

Influencia de Seu Madruga detected..
kkkkkkkkkkkkkk =)

Neste caso, você não precisa de pós graduação. Precisa de certificações. Elas valem muito mais do que um diploma e especialização. E tendo elas, tanto faz o jeito que você aprendeu.

Mas pra que serve então uma Pós Graduação, sendo que ela vai especializar o caboco naquela área ?

"Estudos Avançados Interdisciplinares", seja lá o que isso for. =P
Mas o meu projeto envolvia aprender padrões de troca de mensagens para detectar erros de comunicação com um dispositivo visto como "caixa preta". Na verdade, foi bem aquém do que eu queria. O trabalho de hoje em dia é muito mais interessante, gratificante, útil e divertido. Mas das 9 às 6, hahaha.


O que seria Caixa Preta?

Aprender a aprender sozinho é fundamental. No mundo real, você vai precisar fazer isso dia após dia, ou vira um fóssil.

Certeza. Aluno de graduação "sofre" em determinada matéria. Eu estou sofrendo na programação, apenas.

O negócio é que ele soube vender (muito bem) o seu peixe, e logo estava só mandando e ganhando bilhões.

De nerd, acho que ele não tem nada. Foi apenas ligeiro e ganhou dinheiro nas 'custas' dos outros, digamos assim.

Ou alguém pensa que ele sentou e foi digitar o código fonte que coloca os itens do menu iniciar em ordem alfabética no Windows 98? =P

Mas nem fodendo..(ou fodendo, ou sei lá o quê)..
kkkkkkkkkkkkkkkkkkkkkkk

Essa Coca é Fanta
Veterano
# set/10 · Editado por: Essa Coca é Fanta
· votar


Bog

Parece que quando o assunto é informática, tu é animado pra trocar uma idéia, não ? Eu particularmente gosto de conversar com pessoas cultas nesse assunto, eu aprendo bastante. hehehe

=)

Cavaleiro
Veterano
# set/10
· votar


Essa Coca é Fanta

Não, cursei administração também.

Utilizo um pouco de cada, trabalho com gerenciamento de projetos, tenho um foco em projetos tecnológicos.

Bog
Veterano
# set/10
· votar


Essa Coca é Fanta
Parece que quando o assunto é informática, tu é animado pra trocar uma idéia, não ?

Depende... =P

Mas é que eu penso em dar aulas em alguma universidade quando voltar para o BR. Já vou treinando, hehehe.

Essa Coca é Fanta
Veterano
# set/10
· votar


Bog

Po cara, você podia criar um Blog e começar a falar de alguns assuntos, que tal ?

É sério.

Essa Coca é Fanta
Veterano
# set/10
· votar


Cavaleiro

Utilizo um pouco de cada, trabalho com gerenciamento de projetos, tenho um foco em projetos tecnológicos


Poxa, trabalhar com projetos deve ser muito bom, é sério. Eu to tendo a disciplina Engenharia de Software, e eu gosto bastante. Digamos que, não é nada tão fácil quanto parece, mas quando começa a entender como funciona, é legal. Essa área ganha-se bem.

Bog
Veterano
# set/10
· votar


Essa Coca é Fanta

Minha tentativa de blog durou um mês. Perdi a paciência tão logo deixou de ser divertido. =P

Essa Coca é Fanta
Veterano
# set/10
· votar


Bog

Mas o que deu de errado.. ? Poucos acessos, ou tu não gostava muito de ficar postando ?

Bog
Veterano
# set/10
· votar


Essa Coca é Fanta

Não me dava muita vontade de escrever, e acabava parecendo obrigação. =P

Essa Coca é Fanta
Veterano
# set/10
· votar


Bog
kkkkkkkkkkkkkkkkkk

O blog ainda está no ar?

Essa Coca é Fanta
Veterano
# set/10
· votar


Up!

Esse tópico tá legal..
hehe

Scrutinizer
Veterano
# set/10
· votar


Vocês podiam indicar uns livros bacanas... Eu estou procurando C++ e algoritmos e estudando um sobre algoritmos numéricos. Autodidaticamente.

Essa Coca é Fanta
Veterano
# set/10
· votar


Scrutinizer
Eu estou procurando C++

Cara, livros de C++ te indico:

C++ Como Programar
C++ Para Iniciantes (Módulo I e II)

De algoritmos:

Algoritmos - Programação Para Iniciantes 2º Ed.

GOREFESTA
Veterano
# set/10
· votar


Scrutinizer

Eu acho esse mto bom

Essa Coca é Fanta

Ow, tu viu que abriu inscrição por microsoft students to business?
Se marcar tem mini curso de C# na faixa

Bog
Veterano
# set/10
· votar


Essa Coca é Fanta
Pesquisar que precisa programar, legal "Vai que cola..".

Como assim, vai que cola? É normal ser um pesquisador que precisa programar. Quase tudo o que eu fiz de trabalho envolvia algoritmos em algum ponto.

Você é feliz ou está satisfeito com que faz ?

Sim e sim. Não tenho do que reclamar. Não é 100% perfeito 100% do tempo, mas eu escolhi a carreira que quis e consigo viver bem com ela, mesmo sabendo que não é uma carreira que dá tanto dinheiro (tem ex-colegas meus que seguiram no ramo empresarial/administrativo e que estão ganhando muito bem).

Mas pra que serve então uma Pós Graduação, sendo que ela vai especializar o caboco naquela área ?

Em computação, normalmente especialização serve para atualizar um cara que está há algum tempo sem ver o que há de novo na área. Sinceramente, eu acho meio inútil uma "especialização em Java", sendo que as empresas olham mesmo é para as certificações, e essas você consegue estudando por conta. Conheço um monte de gente que tem e nunca precisou de uma pós-graduação para isso.

O que seria Caixa Preta?

Algo que recebe uma entrada conhecida e produz uma saída conhecida, mas você não sabe o que tem dentro e nem pode mexer lá.

O blog ainda está no ar?

Não. Foi tudo para os ares em 2005 ou 2006. Acho.

The Blue Special Guitar
Veterano
# set/10
· votar


Muita gente pensa que Bill Gates era um gênio da computação. Nunca foi. Foi um cara bom de business, sem dúvida. Mas ele só sujou as mãos lá no princípio, e o que ele fez não tinha nada de fantástico. O negócio é que ele soube vender (muito bem) o seu peixe, e logo estava só mandando e ganhando bilhões.

Ou alguém pensa que ele sentou e foi digitar o código fonte que coloca os itens do menu iniciar em ordem alfabética no Windows 98? =P


Exatamente isso.
Todas as pessoas que eu conheço que estão bem no mercado de TI atualmente tiveram essa trajetória.
Quando digo estar bem não é estar ganhando bem ou com um emprego bom, mas sim, ganhando muito dinheiro e sem colocar a mão na massa.
Acho que com TI, se você fica muito tempo com a mão na massa, principalmente se for na mesma área, acaba ficando um pouco bitolado e isso é péssimo para quem deseja empreender.

GOREFESTA
Veterano
# set/10
· votar


Muita gente pensa que Bill Gates era um gênio da computação. Nunca foi. Foi um cara bom de business, sem dúvida. Mas ele só sujou as mãos lá no princípio, e o que ele fez não tinha nada de fantástico.

Apesar de exagerado, é interessante ver os Piratas do Vale do Silicio

The Blue Special Guitar
Veterano
# set/10
· votar


Essa Coca é Fanta
Poxa, trabalhar com projetos deve ser muito bom, é sério. Eu to tendo a disciplina Engenharia de Software, e eu gosto bastante. Digamos que, não é nada tão fácil quanto parece, mas quando começa a entender como funciona, é legal.

É legal, mas aquele PMBOK me dá um desânimo...

Essa área ganha-se bem.

Fato.
E trabalha-se relativamente pouco, apesar da grande responsabilidade caso algo dê errado.

Essa Coca é Fanta
Veterano
# set/10 · Editado por: Essa Coca é Fanta
· votar


GOREFESTA

Sim. Eu até fiz inscrição, e até agora nada. De qualquer forma, vou abrir o site pra ver como que está. Derrepente eu consigo algo.

=)

Bog
Como assim, vai que cola? É normal ser um pesquisador que precisa programar. Quase tudo o que eu fiz de trabalho envolvia algoritmos em algum ponto.

Não leve a mau. Porque eu pensava que um pesquisador nessa área não precisava ficar programando, e sim chamava um programador pra fazer isto. Muita calma nessa hora..

^^

Em computação, normalmente especialização serve para atualizar um cara que está há algum tempo sem ver o que há de novo na área. Sinceramente, eu acho meio inútil uma "especialização em Java", sendo que as empresas olham mesmo é para as certificações, e essas você consegue estudando por conta. Conheço um monte de gente que tem e nunca precisou de uma pós-graduação para isso.

Nossa, não sabia disso mesmo. É até bom estudar por conta..

Algo que recebe uma entrada conhecida e produz uma saída conhecida, mas você não sabe o que tem dentro e nem pode mexer lá.

Mas essa caixa preta, é um objeto, ou é algo dentro do sistema ou é o que ?

The Blue Special Guitar

Fato.
E trabalha-se relativamente pouco, apesar da grande responsabilidade caso algo dê errado.


Certeza, apesar que não é tudo que é culpa do Projetista. Se o cliente quer mudar ou acrescentar uma ferramente logo no final do projeto, a culpa não é só sua.

Tem muito tempo que atua nessa área ? Fez alguma especialização ? E no começo dessa carreira, é muito dificil ? Lá na empresa, vocês trabalham em equipe ou é só você que quebra a cabeça pra projetar um sistema/software ?

GOREFESTA
Veterano
# set/10
· votar


Essa Coca é Fanta

Sim. Eu até fiz inscrição, e até agora nada. De qualquer forma, vou abrir o site pra ver como que está. Derrepente eu consigo algo.

Acho que os resultados só vão sair la pro dia 20

Essa Coca é Fanta
Veterano
# set/10
· votar


GOREFESTA

Eu fiz inscrição pra fazer o curso na net. E tem curso presencial, mas só em BH, na PUC Minas.

GOREFESTA
Veterano
# set/10
· votar


Essa Coca é Fanta

Eu fiz a inscrição pro presencial msm... é num senac perto de onde eu morava em sampa.
Da até pra filar boia antes/depois na casa da mamãe hehehehe

Bog
Veterano
# set/10 · Editado por: Bog
· votar


The Blue Special Guitar
Todas as pessoas que eu conheço que estão bem no mercado de TI atualmente tiveram essa trajetória.

Verdade. Quando eu disse acima que tem ex-colegas meus que seguiram no ramo empresarial/administrativo e que estão ganhando muito bem, estava pensando nesse tipo de coisa também. O pessoal parece que acredita que dá para ficar rico programando... Mas os big bucks estão mesmo é com os empreendedores (infelizmente*).

*Este foi outra motivo para eu ter evitado o mundo corporativo. Não tenho perfil empreendedor. Meu negócio não é e$$e, infelizmente...

Essa Coca é Fanta
eu pensava que um pesquisador nessa área não precisava ficar programando

Heheh, isso é só depois. Aí eu terei um punhado de mestrandos, doutorandos e doutorezinhos para chicotear. Por enquanto, se eu quero detectar uma luz vermelha, preciso escrever meus próprios filtros, rodar meus próprios testes, montar minhas próprias tabelas, analisar meus próprios dados...

Mas essa caixa preta, é um objeto, ou é algo dentro do sistema ou é o que ?

É aquilo que eu falei... Qualquer coisa que recebe uma entrada conhecida e produz uma saída conhecida, mas você não sabe o que tem dentro e nem pode mexer lá.

Por exemplo, o projeto do meu doutorado foi com a Panasonic. Era com dispositivos que se comunicam usando um padrão. No caso, os aparelhos feitos por outros fabricantes são caixas pretas: você sabe o que está enviando para eles e sabe o que recebe em troca, mas não sabe como eles são implementados e nem pode mexer neles. Então, não tem como você corrigir erros dentro dos aparelhos, precisa preparar o TEU aparelho para lidar com os erros dos outros.

Essa Coca é Fanta
Veterano
# set/10 · Editado por: Essa Coca é Fanta
· votar


Bog
Por exemplo, o projeto do meu doutorado foi com a Panasonic. Era com dispositivos que se comunicam usando um padrão. No caso, os aparelhos feitos por outros fabricantes são caixas pretas: você sabe o que está enviando para eles e sabe o que recebe em troca, mas não sabe como eles são implementados e nem pode mexer neles. Então, não tem como você corrigir erros dentro dos aparelhos, precisa preparar o TEU aparelho para lidar com os erros dos outros.

Ahhh, agora sim eu entendi. Pow, é uma área muito interessante. Acabei de voltar da faculdade, e peguei o livro "Treinamento em Linguagem C++ - Módulo I [2º Ed]", começei a folhear, e tipo, a sintaxe é bem "diferente" da Linguagem C, eu achei mais "sinistra", olhando assim superficialmente. Vou dar uma estudada, e vou ver no que vai dar.

A Linguagem C++ é "dificil" para iniciantes ? Você que é programador nessa linguagem pode me explicar bem (ser quiser, claro =)).

Bog
Veterano
# set/10
· votar


Essa Coca é Fanta

O problema para a maioria dos iniciantes não é a sintaxe da linguagem em si, são conceitos bem mais gerais, como orientação a objeto, alocação de memória, uso de ponteiros, iterators, opções da biblioteca padrão (usar arrays normais, vectors ou lists?) e etc. Mas essas coisas você precisa (ou deveria) aprender independente de linguagem. Alocação de memória é alocação de memória, seja em C, C++ ou mesmo em Java (que faz tudo por baixo dos panos).

Essa Coca é Fanta
Veterano
# set/10
· votar


Bog
O problema para a maioria dos iniciantes não é a sintaxe da linguagem em si, são conceitos bem mais gerais, como orientação a objeto, alocação de memória, uso de ponteiros, iterators, opções da biblioteca padrão (usar arrays normais, vectors ou lists?) e etc. Mas essas coisas você precisa (ou deveria) aprender independente de linguagem. Alocação de memória é alocação de memória, seja em C, C++ ou mesmo em Java (que faz tudo por baixo dos panos).

Mas cara, uma coisa que eu não entendo. Pra que eu preciso aprender bem isso (Locação de memória, ponteiros) ? Pra que serve locação de memoria e qual a sua função na hora de programar e qual a vantagem disso ?

Eu já começei a ler o livro aqui, e admito que estou gostando, abordagem é EXCELENTE, não tem como não aprender.

Essa Coca é Fanta
Veterano
# set/10
· votar


GOREFESTA
Da até pra filar boia antes/depois na casa da mamãe hehehehe

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Que fanfarrão!
Brinks..

=)

Bog
Veterano
# set/10 · Editado por: Bog
· votar


Essa Coca é Fanta
Pra que eu preciso aprender bem isso (Locação de memória, ponteiros) ? Pra que serve locação de memoria e qual a sua função na hora de programar e qual a vantagem disso ?

São técnicas de programação e conceitos básicos de como um
software funciona por dentro. Vou tentar explicar MUITO resumidamente. Se você está fazendo faculdade e não aprendeu isso, vai aprender. Senão o teu curso é uma farsa, desculpe a sinceridade.

No caso de alocação de memória: digamos que você tem um programa que trabalha com imagens. Ele pode ler um arquivo de imagem qualquer do HD, memória flash ou seja lá de onde for. Mas para trabalhar com ela, precisa puxar o arquivo para a memória, onde pode ser acessada (muuuuito) mais rapidamente. Portanto, você precisa pedir para o SO reservar um espaço na memória para que você coloque a sua imagem lá. Existem várias formas de fazer isso: em C++, por exemplo, você poderia declarar uma variável do tipo array com o tamanho certo para receber a imagem (lendo o header do arquivo), ou usar uma estrutura de dados (ex: uma classe chamada Imagem) que você aloca com um "new" (voltaremos a isso quando exemplificar ponteiros). Ocorre que o computador tem uma quantidade limitada de memória, e você quer aproveitar esses recursos da melhor forma possível. Não pode simplesmente ir jogando infintas imagens na memória conforme for precisando: se você fizer isso, em pouco tempo o computador fica lerdo e o SO pode fechar o programa com um "out of memory". Então, quando você tiver terminado de trabalhar com aquela imagem, provavelmente vai querer liberar o espaço que ela ocupava na memória.

Por que você precisa saber bem isso? Ora, porque entendendo como é o mecanismo por dentro, você pode escolher o melhor momento para alocar e desalocar memória, e mais, pode decidir quanto de memória vai alocar, pode reaproveitar memória já alocada para não precisar ficar fazendo isso repetidamente, pode alocar uma certa quantidade de memória em um ponto inicial do programa para ele rodar mais rápido depois, etc. Por exemplo, se você trabalha com vídeos comprimidos, muitas vezes não pode colocar o vídeo inteiro na memória, mas pode alocar um bloco onde cabem vários frames e ir reaproveitando espaços usados anteriormente.

(Nota: apesar de Java fazer alocação e desalocação automaticamente, você não deve ignorar a alocação quando trabalha com Java. Pelo contrário, deve saber ainda mais para explorar este recurso direito, ou o teu programa pode rapidamente ficar lerdo como uma carroça.)

Quanto aos ponteiros, voltemos ao exemplo da imagem. Se você usar arrays normais (aqueles com []), o programa pode ficar alocando e desalocando a todo momento memória, perder a imagem quando acaba o escopo de uma função, acabar fazendo cópias e mais cópias da mesma coisa ou outros comportamentos feios e desagradáveis. Para evitar isso, você pode alocar um espaço em memória e usar sempre o mesmo espaço para a mesma imagem. Só que você precisa lembrar ONDE esta imagem estava na memória. Um ponteiro é simplesmente um endereço na memória - normalmente, um que você alocou para colocar alguma coisa. Ponteiros são uma das ferramentas de programação mais simples, básicas e poderosas que existem. Se você quer fazer um programa rodar bem, usando o mínimo de recursos, você necessariamente vai precisar saber usar ponteiros bem. Ninguém faz um engine gráfico de um game (ou um Sistema Operacional, para voltar ao tema do tópico) sem dominar ponteiros. E mais: existem vários truques que você pode fazer com ponteiros - por exemplo, em processamento de imagens é comum você não ter um, mas VÁRIOS ponteiros apontando para partes diferentes da imagem, o que te permite fazer coisas interessantes como processamento paralelo e mágicas que evitam ficar calculando endereços na memória.

Enfim, saber a sintaxe de C++ mas não entender alocação de memória e ponteiros é como saber usar um martelo mas não saber o que é um prego. =P

E sim, isso tudo foi MUITO resumido, superficial e simplificado (e corrido - posso ter deixado escapar alguma abobrinha aí). Explorar o tema a fundo daria um bom capítulo em um livro. Dos grandes.

Cavaleiro
Veterano
# set/10 · Editado por: Cavaleiro
· votar


The Blue Special Guitar

E trabalha-se relativamente pouco, apesar da grande responsabilidade caso algo dê errado.

Isso é uma verdade e uma mentira. Na teoria o gerente de projetos é quem menos coloca a mão na massa, mas em muitas empresas não é isso que ocorre e ele acaba tendo que ajudar no operacional.

Algo sempre vai dar errado, você está lidando com expectativas e isso é um tanto subjetivo, sem contar que sempre vai acontecer um problema na triplice escopo, tempo e custos, o ponto é não atrasar nos caminhos críticos traçados por PERT/CPM.

Gerenciamento de projetos é recomendado para quem tem uma considerável habilidade técnica e interpessoal, que é ainda mais importante, que não goste de rotinas.

O grande problema dos projetos é que se você dá sua vida pelo projeto para atender o sponsor você não fez mais que obrigação e quando tem um atraso relevante no tempo, problemas de escopo ou previsão de custos errada, a culpa é sua.

É legal, mas aquele PMBOK me dá um desânimo..

O PMBOK por si só é o menor dos males, difícil mesmo é liderar e motivar equipes, a parte técnica das nove áreas do conhecimento é relativamente fácil para quem tem formação administrativa.

Essa Coca é Fanta
Veterano
# set/10 · Editado por: Essa Coca é Fanta
· votar


Desculpem a demora pra responder, mas fiquei sem internet esses dias.

Bog
São técnicas de programação e conceitos básicos de como um
software funciona por dentro. Vou tentar explicar MUITO resumidamente. Se você está fazendo faculdade e não aprendeu isso, vai aprender. Senão o teu curso é uma farsa, desculpe a sinceridade.


Sem problemas, mas depende. O meu curso é Tecnologo em Desenvolvimento para Web, logo não tem linguagem C++. Na verdade, eu comecei a estudar por conta própria.

Porra cara, sua explicação foi muito bom, objetiva e direta, bem legal mesmo. A locação de memória e ponteiros eu achei super foda. Tipo, mesmo lendo seu texto hiper resumido, dá pra ficar "confuso" digamos, parece que a lógica desse negócio é cabuloso demais.

Será que vale a pena investir tempo estudando C++, mesmo não tendo muito campo de trabalho para isso ? (eu mesmo não vejo muito não.).

Enviar sua resposta para este assunto
        Tablatura   
Responder tópico na versão original
 

Tópicos relacionados a É possivel uma pessoa criar um Sistema Operacional só na Programação ?