Autor Tópico: Software para Programação - Tópico Geral  (Lida 6927 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Re:Software para Programação - Tópico Geral
« Resposta #30 Online: Novembro 02, 2012, 11:46:57 am »
Hum, eu estava achando que não dava para instalar o Trello, mas aparentemente é open-source: https://trello.com/docs/

Já usei rake quando estava aprendendo Ruby para um projeto web pessoal. Não fui muito com a cara da linguagem então troquei para Python e depois para PHP. Até hoje não vi linguagem que se integra melhor com HTML do que o PHP.

O meu sonho é uma linguagem que resolva tudo (HTML/CSS/JS, se possível servidor também) em uma tacada só. Existe uma razoável, Cappucino, mas é inspirada em Objective-C, uma linguagem MUITO burocrática na minha opinião.

Código: [Selecionar]
- (id)initWithBitmapDataPlanes:(unsigned char **)planes
pixelsWide:(NSInteger)width
pixelsHigh:(NSInteger)height
bitsPerSample:(NSInteger)bps
samplesPerPixel:(NSInteger)spp
hasAlpha:(BOOL)alpha
isPlanar:(BOOL)isPlanar
colorSpaceName:(NSString *)colorSpaceName
bitmapFormat:(NSBitmapFormat)bitmapFormat
bytesPerRow:(NSInteger)rowBytes
bitsPerPixel:(NSInteger)pixelBits
, alguém?

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #31 Online: Novembro 02, 2012, 02:05:00 pm »
Hum, eu estava achando que não dava para instalar o Trello, mas aparentemente é open-source: https://trello.com/docs/

Já usei rake quando estava aprendendo Ruby para um projeto web pessoal. Não fui muito com a cara da linguagem então troquei para Python e depois para PHP. Até hoje não vi linguagem que se integra melhor com HTML do que o PHP.

O meu sonho é uma linguagem que resolva tudo (HTML/CSS/JS, se possível servidor também) em uma tacada só. Existe uma razoável, Cappucino, mas é inspirada em Objective-C, uma linguagem MUITO burocrática na minha opinião.

Código: [Selecionar]
- (id)initWithBitmapDataPlanes:(unsigned char **)planes
pixelsWide:(NSInteger)width
pixelsHigh:(NSInteger)height
bitsPerSample:(NSInteger)bps
samplesPerPixel:(NSInteger)spp
hasAlpha:(BOOL)alpha
isPlanar:(BOOL)isPlanar
colorSpaceName:(NSString *)colorSpaceName
bitmapFormat:(NSBitmapFormat)bitmapFormat
bytesPerRow:(NSInteger)rowBytes
bitsPerPixel:(NSInteger)pixelBits
, alguém?

O que você procura é NodeJS. É basicamente Javascript no lado do servidor.

E o que você tentou foi Rails. Não é o único framework web feito em Ruby, ao contrário da crença popular. Particularmente, eu adoro usar Sinatra para fazer API's REST. É bem melhor que Rails para isso.

Re:Software para Programação - Tópico Geral
« Resposta #32 Online: Novembro 02, 2012, 03:25:57 pm »
Eu não gostei da linguagem mesmo, nem foi tanto problema do framework. Achei esquisita demais a sintaxe.

Já tinha ouvido falar do NodeJS, mas meu principal problema não é o servidor (<3 PHP), e sim a parte do cliente. Acho muito improdutivo ter que trabalhar com 3 linguagens, e as 3 cada uma com incompatibilidades de navegador, etc. jQuery ajuda muito neste aspecto.

Atualmente o que eu faço é criar funções/classes PHP que já cospem HTML/CSS/JS pronto. As coisas que são fixas deixo em CSS/JS externos.

Dá para escrever aplicativos de iPhone/Android 100% em JS (http://www.appcelerator.com/). É absurdamente mais rápido e fácil do que escrever em Obj-C ou Java, mas tem a desvantagem do aplicativo ficar mais lento. É de algo assim que eu precisava para web.

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #33 Online: Novembro 02, 2012, 11:39:19 pm »
Eu não gostei da linguagem mesmo, nem foi tanto problema do framework. Achei esquisita demais a sintaxe.

Esse é um motivo bem besta para desgostar de uma linguagem, não acha?

Não digo isso para ser ofensivo, mas é porque eu desgostava de LISP por um motivo parecido ("acho a sintaxe muito feia", dizia eu). Até alguém falar pra mim o que eu disse aí em cima.

Existem motivos para uma linguagem ser boa ou não. Coesão e flexibilidade, por exemplo. Claro que cada linguagem é uma ferramenta, e algumas ferramentas são mais apropriadas para determinadas tarefas (nada de tentar fazer um jogo AAA em Ruby, por exemplo, ou uma aplicação web em C++).

LISP é incrível devido à flexibilidade. Dei uma chance a ela e aprendi muito. Mudei a forma como eu encaro programação.

Acho que você deveria dar mais uma chance a Ruby e procurar saber sobre como ele lida com Domain Specific Languages (que é justamente onde ele brilha sobre muitas outras linguagens) e metaprogramação (onde ele também é excelente).

No livro The Pragmatic Programmer, o autor recomenda aprender (e se aprofundar o tanto que for possível) uma linguagem por ano. Isso melhora a qualidade do seu código nas outras linguagens, porque ajuda você a pensar de forma diferente do que já estava acostumado, e analisa situações de acordo com paradigmas que antes você desconhecia.

Já tinha ouvido falar do NodeJS, mas meu principal problema não é o servidor (<3 PHP), e sim a parte do cliente. Acho muito improdutivo ter que trabalhar com 3 linguagens, e as 3 cada uma com incompatibilidades de navegador, etc. jQuery ajuda muito neste aspecto.

Naturalmente. Uma linguagem é de marcação, a outra de estilo, a outra lógica. É difícil uma linguagem fazer tudo isso ao mesmo tempo (nem tanto se você usar uma boa DSL, mas isso é bem difícil quando se trata de web). NodeJS pelo menos tiraria o peso de colocar mais uma linguagem nesse bolo. Não que isso seja um peso para todos, claro.

Atualmente o que eu faço é criar funções/classes PHP que já cospem HTML/CSS/JS pronto. As coisas que são fixas deixo em CSS/JS externos.

Bem parecido com a estratégia do Rails. Espero que você tome muito cuidado com injections, então.

Dá para escrever aplicativos de iPhone/Android 100% em JS (http://www.appcelerator.com/). É absurdamente mais rápido e fácil do que escrever em Obj-C ou Java, mas tem a desvantagem do aplicativo ficar mais lento. É de algo assim que eu precisava para web.

E coisas assim não faltam. Se você gosta tanto de PHP, procure o Zend Framework ou o Cake PHP.

Re:Software para Programação - Tópico Geral
« Resposta #34 Online: Novembro 03, 2012, 01:18:20 am »
Vou responder por parágrafos. VA, entenda que não sou da área (por formação) e portanto não entendo metade das siglas que você diz XD

Sintaxe não é besta não. Pra alguém que quer ter o menos trabalho possível ao criar/modificar, é importante. Python tem as mesmas vantagens do Ruby e eu acho bem melhor como linguagem genérica. Mas as duas são ruins pra web, na minha opinião, mesmo com framework (django e Rails). Quem sabe em um dia chuvoso eu dou uma chance ao Ruby.

Aplicações de desktop/mobile resolvem 95% da coisa com apenas 1 linguagem, na maioria das vezes.

Já tem um bom tratamento de injections embutido.

Usei por muito tempo o Yii na iniciação científica. Eu até gostava de MVC, mas depois de um tempo percebi que perdia muito mais tempo com a estrutura do que com o que o site deveria fazer em si. Hoje detesto framework.

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #35 Online: Novembro 03, 2012, 01:44:58 am »
Citar
VA, entenda que não sou da área (por formação) e portanto não entendo metade das siglas que você diz

Entendo. Mas se te anima, eu não concluí a faculdade (tô no primeiro período, ainda). Tudo o que tenho aprendido é pelo mercado, mesmo.

Citar
Sintaxe não é besta não.

Dizer que a sintaxe não agradou não é a mesma coisa que a sintaxe ser ruim ou mal estruturada. É só falta de costume. Sintaxes diferentes para linguagens diferentes. A sintaxe de Ruby é muito bem estruturada, e mesmo fãs de LISP (que estão entre os programadores mais chatos) admitem isso.

Citar
Aplicações de desktop/mobile resolvem 95% da coisa com apenas 1 linguagem, na maioria das vezes.

Não.

Aplicações de desktop geralmente têm uma linguagem visual para estruturar os formulários (ninguém faz formulários apenas em C#/C++/Delphi/VB/Java, fazem na GUI, o que pode ser visto como uma linguagem adicional). Android usa XML (que tem algumas similaridades com o combo HTML+CSS). Dá para fazer ambos só na linguagem original, mas é menos trabalhoso usar GUI/XML/HTML.

Só não sei dizer nada do iOS, porque nunca usei.

Citar
Usei por muito tempo o Yii na iniciação científica. Eu até gostava de MVC, mas depois de um tempo percebi que perdia muito mais tempo com a estrutura do que com o que o site deveria fazer em si. Hoje detesto framework.

Well, por isso sugeri Sinatra lá atrás. Ele não é MVC. É só uma maneira direta de converter chamadas HTTP em funções Ruby. É lindo, sério. É uma das melhores amostras do poder das DSL's em Ruby.

Quanto a passar muito tempo se preocupando com a estrutura: isso é uma faca de dois gumes. Por um lado, manter uma estrutura coesa é ótimo e permite fácil manutenção. Por outro, às vezes a arquitetura é tão cheia de detalhes que mais atrapalha do que ajuda. Já trabalhei em projetos assim (acho que o termo é over-engineered). O MVC é útil quando a aplicação precisa de MVC, mas tentar meter MVC em tudo (como eu vejo muita gente querer fazer) é que é a merda.
« Última modificação: Novembro 03, 2012, 01:46:36 am por VA »

Re:Software para Programação - Tópico Geral
« Resposta #36 Online: Novembro 03, 2012, 02:52:06 am »
Em nenhum momento disse que a sintaxe do Ruby era mal estruturada. Só não gostei/me acostumei.
Dei uma olhada no LISP e gostei bastante. Bem matemática a sintaxe. Lembra as calculadoras HP.

Como você disse, dá pra usar a mesma linguagem pro visual também. No iOS tinha um programa para fazer GUI, mas era mais versátil fazer tudo no Obj-C. Em MATLAB e Python é muito comum fazer tudo neles. A questão é que web você não tem essa opção de 1 linguagem apenas. E a parte visual, que era para ser algo simples, acaba sendo tão trabalhosa quanto a aplicação em si.

No projeto atual está tudo tão gigantesco que tenho medo de mexer na estrutura. Mas nos projetos pessoais eu tento usar algumas ideias do MVC que achei interessantes.

Pelo jeito você curte uns jeitos alternativos de programar. Eu descobri que uso bastante metaprogramação sem querer, mas entre linguagens diferentes. DSL nunca que eu lembre.

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #37 Online: Novembro 03, 2012, 11:24:26 am »
Citar
Como você disse, dá pra usar a mesma linguagem pro visual também. No iOS tinha um programa para fazer GUI, mas era mais versátil fazer tudo no Obj-C. Em MATLAB e Python é muito comum fazer tudo neles. A questão é que web você não tem essa opção de 1 linguagem apenas. E a parte visual, que era para ser algo simples, acaba sendo tão trabalhosa quanto a aplicação em si.

Nunca fiz nada pra iOS nem MATLAB, mas tu tem razão no Python.

Citar
Pelo jeito você curte uns jeitos alternativos de programar. Eu descobri que uso bastante metaprogramação sem querer, mas entre linguagens diferentes. DSL nunca que eu lembre.

Eu gosto de resolver problemas de maneiras interessantes e que deixem o programa mais fácil de consertar depois. XD

É justamente por sentir falta de metaprogramação e DSL que eu não curto muito Java, por exemplo.

Re:Software para Programação - Tópico Geral
« Resposta #38 Online: Novembro 07, 2012, 10:14:21 pm »
Ultimamente por algum motivo desconhecido o WAMP (interface para PHP e cia. no Windows) anda bastante lento. Dizem que PHP e cia. rodam mais rápido em Linux (pelo menos no servidor roda, mas não sei se é pelo poder da máquina ou pelo SO). Aproveitando que o site precisa de umas boas melhorias para funcionar melhor em Linux, resolvi instalar em semi-dual boot com o wubi (Ubuntu).

De cara já instalou a maioria dos drivers (não fui muito atrás do resto). Como já previa, instalei todos os aplicativos com o apt-get. Algumas coisas não aconteciam de acordo com os guias que segui: algumas configurações já vinham feitas e outras era necessário fazer na mão. Acredito que varie bastante de versão para versão do Ubuntu. Instalei também Java Oracle e Netbeans (tentei usar o Emacs, VA, mas não me adaptei XD). Para o Java tinha uns guias tenebrosos mas achei um que ia por apt-get. No geral foi menos sofrido do que da última vez que usei: o SO está bem mais polido.

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #39 Online: Novembro 08, 2012, 02:17:08 am »
Ubuntu é, de longe, a melhor distribuição pra quem quer botar tudo pra funcionar sem ter tanto trabalho.

Mas a melhor distribuição pra power users que não têm problemas em botar a mão na massa frequentemente é o Arch.