Curso CS50 Harvard MOOC
O que me permitiu descobrir esta nova funcionalidade
Entre as coisas que faรงo hoje em dia, hรก um curso MOOC ministrado por Harvard, CS50 atรฉ edX.org, Nรฃo sei quantos de vocรชs o conhecem, mas recomendo-os se o seu desejo รฉ aprender a programar (Ele vem com um certificado gratuito incluรญdo, e se vocรช nรฃo gosta de programaรงรฃo, hรก muitas opรงรตes para escolher), bem, a questรฃo รฉ que eles fornecem uma mรกquina virtual para que vocรช possa trabalhar e todas as ferramentas incluรญdas que eles jรก prepararam para vocรช, para que vocรช nรฃo precise se preocupar com mais nada alรฉm de aprender.
No entanto, nunca fui um grande fรฃ de mรกquinas virtuais, entรฃo leio aqui e ali e graรงas ao lindo repositรณrio AUR jรก tenho o bรกsico instalado. O engraรงado รฉ que o compilador รฉ usado no curso retinir em vez de gcc, a princรญpio isso me surpreendeu, na verdade antes eu nรฃo sabia que esse compilador existia (Mais tarde, descobri que hรก uma guerra santa entre os dois e Stallman provoca um ataque cardรญaco toda vez que clang รฉ mencionado. XD) A princรญpio decidi ignorar o novo compilador porque sou um daqueles que pensa, por que ter duas ferramentas que fazem o mesmo trabalho?
Gedit e Clang se unem
No entanto, no final, decidi dar uma chance ao compilador por basicamente dois motivos: estava tendo problemas para compilar (especificamente com a tag -Qunused-argumentos que aparentemente nรฃo existe em gcc) e segundo porque em uma das atualizaรงรตes de rotina percebi que o Gedit Ele me deu uma dica para ativar o "Assistรชncia de cรณdigo" (assistente de cรณdigo) necessรกrio para instalar retinir. Diante disso decidi testar do que se tratava e rodar (vรกlido apenas para Arch e / ou Manjaro)
sudo pacman -S clang
A magia veio instantaneamente =). Se vocรช colocar o ponteiro sobre os avisos, ele lhe darรก uma ideia do que estรก errado, uma pena que ele desaparece na imagem.
- A competiรงรฃo sempre permite a evoluรงรฃo para beneficiar os usuรกrios.
- Nem tudo que nรฃo รฉ estritamente GPL รฉ ruim
- Quem prega liberdade de pensamento Devem apenas fazer os programas evoluรญrem de acordo com as necessidades dos usuรกrios, pois o pensamento de todos รฉ vรกlido, nรฃo apenas o dos desenvolvedores. (Seu programa pode ter tudo o que vocรช quiser, mas se os usuรกrios nรฃo gostarem, vocรช falha, ponto final)
Eu entendo que isso รฉ algo que vinha clamando para que fosse incluรญdo no gccMas como as maiores demandas aparentemente vieram de grandes empresas privadas, elas foram ignoradas. Nรฃo acho que seja o melhor exemplo de liberdade de pensamento e que open source pregar e representar.
Eu sei que eles nรฃo sรฃo todos assim, mas uma boa parte do comunidade linuxera ela com certeza se sente identificada, e estou convencido de que se continuarmos assim, nunca poderemos conquistar o desktop. Temos que colocar o รณdio entre nรณs de lado, temos que tratar melhor os novos usuรกrios em potencial, independentemente de eles fazerem perguntas "idiotas" ou "repetidas" e, nรฃo menos importante, os desenvolvedores devem parar de fazer guerra com empresas privadas e se concentrar no atendimento ร s necessidades, o fragmentaรงรฃo ร uma consequรชncia direta disso, eu acho. Tenho certeza de que, se as necessidades dos outros tivessem sido atendidas, independentemente de onde vieram hoje, a histรณria teria sido "Gedit e gcc se unem para formar um IDE" o "Gcc permite que pequenos editores se tornem verdadeiros IDEs"
Artigo muito bom, e concordo 100% com vocรช em eliminar o รณdio. Uma รบnica รกrvore nรฃo constitui a floresta. Atualmente temos Linux, FreeBSD e a famรญlia BSD em geral, Mac, Windows, Solaris, UNIX e assim por diante, e todos eles sรฃo รกrvores da floresta de software que os humanos usam.
A diversidade รฉ inerente ร Humanidade.
Acho que vocรช exagera de รณdio. Nรฃo acho que os desenvolvedores odeiem outros projetos, ao contrรกrio, alguns usuรกrios odeiam.
Em relaรงรฃo ao que vocรช fala sobre ter mais contato com o usuรกrio, parece perfeito.
As liberdades do software livre (que vocรช parece confundir com Open Source) sรฃo:
a liberdade de usar o programa, para qualquer finalidade (Uso).
a liberdade de estudar o funcionamento do programa e modificรก-lo, adaptando-o ร s prรณprias necessidades (Estudo).
a liberdade de distribuir cรณpias do programa, auxiliando outros usuรกrios (Distribuiรงรฃo).
a liberdade de melhorar o programa e tornar essas melhorias pรบblicas para outras pessoas, de modo que toda a comunidade se beneficie (Melhoria).
Isso tem pouco a ver com "liberdade de pensamento", que รฉ um conceito mais relacionado ร polรญtica ou, se vocรช me apressar um pouco, ao liberalismo na economia.
A liberdade de pensamento nรฃo tem, a princรญpio, nenhuma incompatibilidade com o patenteamento de software, com o qual vocรช fecha seu cรณdigo, etc. etc.
Tudo isso, รฉ claro, supondo que de um ponto de vista filosรณfico fosse possรญvel uma liberdade de pensamento quase descontextualizada como a que vocรช propรตe.
Saudaรงรตes.
Vocรช tem razรฃo, mas eu faรงo o comentรกrio assim porque vocรช sempre vรช comentรกrios que tentam justamente mostrar que software livre รฉ liberdade de pensamento. E nรฃo, o cรณdigo aberto pode ser pago ou gratuito, o software livre รฉ gratuito e aberto, รฉ o que eu entendo. O que vocรช mencionou รฉ muito bom, mas lembre-se que alรฉm do tรฉcnico, o software livre รฉ uma ideologia ou filosofia, e embora eu saiba que o fazem para se proteger, para nรฃo permitir que entidades privadas participem do cรณdigo, e o modifiquem e / ou Adicionar funรงรตes privadas nรฃo me parece muito livre para dizer, e รฉ precisamente por isso que o clang nasceu. O Clang รฉ um software livre, porรฉm, ao contrรกrio da GPL, sua licenรงa permite que seja modificado por quem quiser, como quiser, quando quiser e sem que ninguรฉm saiba (ao contrรกrio da GPL, vocรช nรฃo pode modificar sem tornar as modificaรงรตes pรบblicas). Muito mais livre. Claro que isso tem a vantagem / desvantagem de as empresas adicionarem partes privadas e ficarem vulnerรกveis โโao adotar, estender e extinguir
"E nรฃo, o cรณdigo aberto pode ser pago ou gratuito, o software livre รฉ livre e aberto, รฉ o que eu entendo."
Vocรช tem que evitar esse erro generalizado e os danos que ele causa.
O Software Livre pode perfeitamente ser pago (ou nรฃo, รฉ uma decisรฃo do autor), de fato, se vocรช ler a GPL (a licenรงa de SL mais popular do mundo) verรก que ela incentiva a cobranรงa pelo software que desenvolvemos.
Tambรฉm vale a pena distinguir entre privado (prรณprio, privado) e privado, este รบltimo se refere ร privaรงรฃo de liberdades (neste caso de que fala a LS).
O SL permite perfeitamente que vocรช NรO distribua sua versรฃo modificada e a mantenha privada, o problema surge quando vocรช quer lucrar com um trabalho derivado de terceiros sem respeitar seus direitos autorais.
O que vocรช pode fazer, se nรฃo quiser compartilhar o seu cรณdigo, รฉ usar o cรณdigo de outras pessoas sem modificรก-lo, vinculรก-lo ao seu (por exemplo, como uma biblioteca), deixar cada parte com licenรงas diferentes e pronto, รฉ para isso que serve a LGPL.
ร verdade que nos tornamos um bando de trolls e puritanos, vivemos reclamando disso ou daquilo, por exemplo, falamos e pregamos software livre de uma forma quase fanรกtica, mas toda vez que instalamos um sistema Linux corremos para instalar o Chrome enquanto protestamos contra firefox embora seja menos intrusivo e nรฃo seja desenvolvido por uma empresa com fins monopolistas ou desprezamos o gnomo e sua concha por mera inveja porque no fundo sabemos que hoje รฉ a joia da coroa em ambientes de desktop e preferimos apoiar Distros que dificilmente contribuem para este projeto e que apenas agem como tique-taque enquanto a distro real que o representa e a empresa que o patrocina caem em ruรญnas
โEu entendo que isso รฉ algo que tem clamado para que ele seja incluรญdo no gcc, mas como as maiores demandas aparentemente vieram de grandes empresas privadas, elas foram ignoradasโ.
Bom, nesse caso me parece bom, se sรฃo grandes empresas que modifiquem o cรณdigo e depois compartilhem com a comunidade, para isso tรชm mais recursos.
Na verdade, eles fizeram isso e รฉ por isso que o clang agora existe. Vocรช acha que essas modificaรงรตes nรฃo tentaram inserir o gcc a princรญpio? No entanto, a diretiva gcc liderada pelo prรณprio Stallman nรฃo estรก apenas fechada a sugestรตes, mas tambรฉm me lembro de ter lido que sua programaรงรฃo foi feita de uma forma que nรฃo era modular e nรฃo podia usar partes do cรณdigo, sacrificando a eficiรชncia para manter o hermetismo. Jรก vimos que nos benchmarks do clang ele compila muito mais rรกpido, porรฉm ainda precisa amadurecer jรก que na execuรงรฃo dos binรกrios, os do gcc vรฃo mais rรกpido.
Nada estรก mais longe da verdade, o GCC nรฃo รฉ governado por Richard Stallman, รฉ liderado pelo comitรช diretor do GCC, desde 1998, que tem membros da indรบstria e da academia.
Quando nรฃo sabemos um assunto, รฉ melhor ficar em silรชncio ou perguntar ou inquirir.
Vamos aproveitar a vida enquanto podemos.
https://gcc.gnu.org/steering.html
Hehe ok, vocรช fez o dever de casa, admito que fiz um pequeno comentรกrio e me enganei, porรฉm foi o que inferi apรณs ler algumas listas de mala direta onde se constata que Stallman tem muita autoridade e รฉ altamente influente nas decisรตes que pode ser feito lรก.
O mesmo nรฃo exclui o fato de eles ignorarem as sugestรตes.
Cara, eu acho que vocรช estรก atrasado no mundo da programaรงรฃo e รฉ por isso que vocรช nรฃo descobriu que essa funcionalidade pode ser aplicada a qualquer editor usando GCC (contanto que o editor permita, รฉ claro). Esse รฉ um trabalho que o gedit faz nos bastidores, nรฃo clang, clang รฉ um compilador.
Por outro lado, vocรช nรฃo deve falar quando nรฃo conhece os fatos de fundo, se vocรช nรฃo gosta do GCC, nรฃo o use, mas nรฃo fale coisas que nรฃo conhece.
O GCC รฉ um dos melhores compiladores que existem, assim como o clang. Alรฉm disso, o GCC รฉ um software livre e esse รฉ um de seus maiores mรฉritos.
Saudaรงรตes e vamos aproveitar a vida enquanto podemos.
Eu nunca disse que nรฃo gostava do GCC, รฉ o principal que uso, e sim, pode ter sido tarde, mas embora vocรช esteja certo que os assistentes de cรณdigo sรฃo do IDE, como netbeans ou eclipse, pequenos editores nรฃo possui tais recursos para manter sua simplicidade e baixo consumo de recursos, o Clang permite que vocรช tenha assistรชncia de cรณdigo, como ele faz isso? Nรฃo sei, mas รฉ algo que รฉ graรงas ao Clang e que o GCC nรฃo tem ๐
Se vocรช ler este blog, vocรช saberรก como o gedit ajuda a codificar e nรฃo como clang.
https://blogs.gnome.org/jessevdk/2011/11/13/gedit-code-assistance-plugin/
Saudaรงรตes.
Acredito que este link รฉ mais vรกlido que o seu e concorda comigo
http://clang-analyzer.llvm.org/
O Gedit usa a ferramenta de anรกlise estรกtica de cรณdigo do clang para executar seu assistente de cรณdigo. Esta ferramenta รฉ possรญvel e funcional graรงas ao design modular do clang.
ยซEstritamente falando, o analisador รฉ parte do Clang, pois o Clang consiste em um conjunto de bibliotecas C ++ reutilizรกveis โโpara a construรงรฃo de ferramentas poderosas de nรญvel de origem. O mecanismo de anรกlise estรกtica usado pelo Clang Static Analyzer รฉ uma biblioteca do Clang e tem a capacidade de ser reutilizado em diferentes contextos e por diferentes clientes ยป
"Esta ferramenta รฉ possรญvel e funcional graรงas ao design modular do clang."
Nรฃo entendo por que vocรช insiste em mencionar que o GCC nรฃo รฉ modular, se nรฃo fosse como vocรช pensa que pode compilar C, C ++, ADA, Objective-C, Java, Fortran.
Outra coisa que me parece curiosa รฉ a sua determinaรงรฃo em fazer o GCC parecer ruim, todos os projetos tรชm ou tiveram problemas e o GCC nรฃo รฉ exceรงรฃo e os superou, por isso o kernel do Linux continua usando o GCC para compilaรงรฃo.
Sรณ me incomoda que vocรช faรงa o GCC parecer ruim, sendo esta ferramenta que tornou e continua a possibilitar tanto de valioso e maravilhoso que usamos diariamente.
Modular รฉ tanto GCC quanto clang:
http://lwn.net/Articles/457543/
http://gcc-melt.org/
http://stackoverflow.com/questions/14072779/how-can-i-run-gcc-clang-for-static-analysis-warnings-only
Quero dizer especificamente isso
ยซO Clang foi projetado como uma API desde o inรญcio, permitindo que seja reutilizado por ferramentas de anรกlise de cรณdigo-fonte, refatoraรงรฃo, IDEs (etc), bem como para geraรงรฃo de cรณdigo. O GCC รฉ construรญdo como um compilador estรกtico monolรญtico, o que o torna extremamente difรญcil de usar como uma API e integrรก-lo a outras ferramentas. Alรฉm disso, seu design histรณrico e polรญtica atual tornam difรญcil separar o front-end do resto do compilador. ยป
Tirado de http://clang.llvm.org/comparison.html, (Pena que nรฃo consigo encontrar onde li que o prรณprio Stallman admitiu que o design era intencionalmente assim, de modo que nรฃo poderia ser usado com precisรฃo por outras ferramentas)
O outro ponto de crรญtica tambรฉm vale a pena mencionar.
ยซVรกrias decisรตes de design GCC tornam muito difรญcil reutilizar: seu sistema de construรงรฃo รฉ difรญcil de modificar, vocรช nรฃo pode vincular vรกrios destinos em um binรกrio, vocรช nรฃo pode vincular vรกrios front-ends em um binรกrio, ele usa um coletor de lixo personalizado , usa variรกveis โโglobais extensivamente, nรฃo รฉ reentrante ou multi-threadable, etc. O Clang nรฃo tem nenhum desses problemas. ยป
De qualquer forma, acho que vocรช me entendeu mal, nรฃo que eu prefira clang, o que eu quis dizer รฉ que gostaria que o GCC tivesse sido o protagonista deste artigo.
Hรก algum tempo publiquei uma ideia neste fรณrum, repito mais uma vez:
ยซPenso que a sua opiniรฃo รฉ infundada, acima das questรตes tรฉcnicas estรก o software livre. Isso รฉ o que mais preocupa o Sr. Stallman. Pelo que vejo o melhor para vocรช รฉ a parte tรฉcnica e vocรช tem razรฃo, mas quando vocรช nรฃo tem escolha porque uma empresa assumiu sua tecnologia vocรช vai pensar duas vezes.
Por outro lado, com o GCC vocรช pode verificar o cรณdigo em tempo real, pois repito, sua opiniรฃo รฉ infundada. ยป
Eu acho que vocรช acertou o prego na cabeรงa, eu sou definitivamente mais objetivo e menos religioso, e รฉ exatamente o que eu acho que o software livre se tornou, religiรฃo, na verdade eu acho que agora eu entendo porque tanta guerra santa.
Parece-me que com este artigo vocรช estรก levando as pessoas para longe do software livre e de seu verdadeiro foco.
Sรณ quero deixar dois links para dois livros que espero que vocรช tenha paciรชncia de ler para entender melhor as ideias do software livre.
Software livre para uma sociedade livre
https://www.gnu.org/philosophy/fsfs/free_software2.es.pdf
Cultura livre
http://www.worcel.com/archivos/6/Cultura_libre_Lessig.pdf
Saudaรงรตes e vamos aproveitar a vida enquanto podemos.
Os argumentos -Qunused de CLANG, presumo que possam ser replicados no gcc com alguma combinaรงรฃo de -Wunused-function / -Wunused-label / -Wunused-value / -Wunused-variable
Acredito, com todo o respeito pelo que vocรช escreveu e que compartilho em parte, que o que ร s vezes esquecemos รฉ por que e por que nasceu o software livre, que mais tarde evoluiu para cรณdigo aberto.
Envolvido: OSS รฉ SL sem o fardo social e filosรณfico.
O OSS รฉ apenas a parte tรฉcnica que jรก estรก contido dentro do SL, mas nรฃo vice-versa.
O OSS ganhou forรงa simplesmente porque lida com questรตes tรฉcnicas sem ter que lidar com questรตes morais ou รฉticas.
Em qualquer caso e para a prรกtica, ambos se comportam de uma forma semelhante - nรฃo รฉ o mesmo, semelhante. O problema com as licenรงas nรฃo GPL รฉ que elas permitem que vocรช feche certos garfos em algum ponto; o โproblemaโ da GPL no atual paradigma social, pois as empresas nรฃo podem criar vantagem competitiva com o desenvolvimento em si, mas com os serviรงos e nichos de negรณcios a ele associados.
Olรก, parabรฉns pelo artigo, a sua me parece uma posiรงรฃo bastante razoรกvel, que compartilho. Eu uso o Linux hรก cerca de 5 anos e escolhi-o pela liberdade que ele me dรก para selecionar o que quero usar e ter no meu PC e o que nรฃo, o que o Windows nรฃo permite. Reconheรงo que รฉ verdade que existe intolerรขncia de certos usuรกrios Linux para com outros que nรฃo o sรฃo ou que usam uma distribuiรงรฃo diferente, e acho que รฉ uma questรฃo cultural, de nรฃo saber aceitar outros com critรฉrios diferentes. Esperanรงosamente, todos nรณs o entendemos e podemos contribuir mais para a comunidade. Saudaรงรตes de Cรณrdoba, Argentina.
Eu aplaudo seu texto. A humanidade evoluiu como grupo graรงas ร priorizaรงรฃo de alguns objetivos comuns, mas isso sรณ foi possรญvel a partir do respeito ร s diferenรงas.
Liberdade de pensamento nรฃo significa que eles farรฃo tudo o que รฉ pedido, o programador decide o que e quando implementar (ele รฉ livre para fazer como achar necessรกrio). A liberdade รฉ que, se isso nรฃo agrada a vocรช, vocรช mesmo pode fazer isso se souber como ou pagar alguรฉm para fazer isso por vocรช.
As ferramentas estรฃo aรญ para usar independente de vocรช gostar ou nรฃo, se nรฃo gostar, crie uma ou apoie para melhorรก-la como acontece com as comunidades de software livre, se vocรช tem dinheiro, compre ... dรณi quem dรณi no mundo Do software livre as coisas funcionam assim, tem projetos que sรฃo muito bons e continuam melhorando, outros que nรฃo sรฃo tรฃo bons e estรฃo estagnados, outros que ficaram na tentativa ... รฉ o que hรก, nรฃo estrague o resto por usรก-lo ou nรฃo, agora no assunto Do gnu รฉ inevitรกvel que de vez em quando o nosso ยซcoraรงรฃozinho arroganteยป se oponha ao software proprietรกrio e ainda mais se for winbug, o que somos vamos fazer รฉ o nosso carma que formamos hรก muito tempo para ver a GRANDE BEM de usar gnus e software livre !! (:
Eu nรฃo entendo, essa arte. fala de Gedit como IDE - cof Construtor: https://wiki.gnome.org/Apps/Builder cof - ou รฉ propaganda clangor?
Quando vocรช fala em รณdio, suponho que esteja se referindo ร luta contra a imposiรงรฃo de determinados softwares e formatos proprietรกrios que restringem a concorrรชncia e a liberdade dos usuรกrios. Nรฃo รฉ รณdio, รฉ uma defesa contra o roubo e a sua imposiรงรฃo. Por exemplo, na Espanha, se vocรช compra um laptop de qualquer marca, eles impรตem a compra de um software chamado Microsoft Windows, mesmo que vocรช nรฃo o queira, apenas a marca Asus parece devolver a quantidade de Windows sem problemas, mas, entรฃo, das empresas para As administraรงรตes pรบblicas querem impor-lhe a compra de licenรงas de software proprietรกrio para fazer algo tรฃo tolo como assinar uma reclamaรงรฃo atravรฉs da web, exemplos: Seguranรงa Social, Ouvidoria, ...
Nรฃo รฉ que os defensores do uso do software livre odeiem ou nรฃo tolerem outros pensamentos, o problema รฉ quando aqueles que tรชm outros pensamentos querem impor a compra de produtos a terceiros, com outras soluรงรตes que respeitem o que cada um deseja usar.
ร muito diferente.
Nรฃo, o que vocรช descreve รฉ โโdefender a sua liberdade, tudo bem, o que estou descrevendo sรฃo usuรกrios linux atacando usuรกrios Windows, usuรกrios especialistas atacando novos usuรกrios, Debianites atacando ubunusers e portanto, sempre carregados de comentรกrios cheios de insultos e arrogรขncia.
Acho que vocรช vรช ou tem uma imagem estereotipada das coisas e das comunidades. Na minha opiniรฃo, software livre se refere a isso, fazer as coisas da maneira que vocรช acha que รฉ melhor, entre tantas outras coisas. Nรฃo รฉ obrigatรณrio para um programador ou equipe de desenvolvimento incluir recursos que sejam do interesse de outro. Imagine se eles fossem fiรฉis a essa regra, todos os programas estariam cheios de recursos e seriam infinitos. Todos terรฃo suas boas idรฉias e nem todas as variantes podem ser incluรญdas ... seria um interminรกvel. Se alguรฉm acha insuficiente como um programa foi desenvolvido, ele tem que parar de exigir, fazer um fork (e aproveitar a licenรงa GPL / GNU para reutilizar cรณdigo antigo) e incluir seu prรณprio recurso / melhoria / design e finalmente acabar contribuindo para a comunidade, e se alguรฉm decidir que รฉ รบtil, eles o implementarรฃo. Isso รฉ liberdade. As demais crรญticas fazem parte do folclore humano, do humor, do carรกter. Nรฃo devemos levar as coisas como se fรดssemos os protagonistas de um filme maravilhoso ... nada vai se perder porque o programador de plantรฃo manda a NVIDIA para o inferno, seu cรณdigo permanecerรก o mesmo para a posteridade e aproveite o resto do nosso espรฉcie, conhecimento compartilhado e em constante evoluรงรฃo, os homens finalmente perecerรฃo com suas qualidades e aspectos distintos, carรกter e outros. Mas a sua criatividade, esforรงo e trabalho vรฃo durar para que quem o considere รบtil possa reutilizรก-lo.
E algo importante que para mim deve ser destacado, vocรช diz ยซ........ Aqueles que pregam a liberdade de pensamento devem justamente fazer os programas evoluรญrem a partir das necessidades dos usuรกrios, porque o pensamento de todos รฉ vรกlido, nรฃo apenas o dos desenvolvedores. (Seu programa pode ter tudo o que vocรช quiser, mas se os usuรกrios nรฃo gostarem, vocรช falha, ponto final) ยปโฆโฆ .mas na minha opiniรฃo รฉ para mudar o foco, o GNU tenta nรฃo colocar o usuรกrio como tal no centro, que O objetivo รฉ colocar o homem no centro da informรกtica (repito nรฃo o usuรกrio como mero cliente), mas o ser humano como parte de uma comunidade, que ร s vezes ou em maior medida participa passivamente, sem desenvolver cรณdigo faz nรฃo implica que este foco errado. E lembremos que quem adquire, compra ou usa software dentro do mundo gnu, o faz nรฃo sรณ com suas funรงรตes, mas tambรฉm com o cรณdigo, que permite adaptรก-lo ร s suas necessidades caso nรฃo se satisfaรงa com o programa original ou se a qualquer momento, novos surgem. Essa รฉ a รบnica coisa que importa e que deve ser defendida. Claro, existem programas muito bons, e melhores que sรฃo proprietรกrios, mas o ponto รฉ que eles nos privam de liberdade, eles nos enganam quando nos vendem um binรกrio simples (se adicionarmos ao conceito GNU) e muitos violam nosso privacidade e confianรงa.
PS: Excelente sua contribuiรงรฃo / difusรฃo / didรกtica e conhecimento. ร um dos meus blogs de referรชncia. Saudaรงรตes e espero que vocรช possa entender minha abordagem e crรญtica. Saudaรงรตes.
ยปOs desenvolvedores devem parar de fazer guerra com empresas privadas e se concentrar em atender ร s necessidades. A fragmentaรงรฃo รฉ uma consequรชncia direta disso, eu acho. ยป
ร o que eu digo, porque eles inventaram o gEdit se eles poderiam ter melhorado o Emacs, e dito isto porque eles inventaram o Emacs se eles poderiam ter melhorado eu vi que todos nรณs sabemos que รฉ inรบtil se vocรช dedicar esse esforรงo para melhorar o ed. Claro, homens de verdade teriam simplesmente melhorado o gato.
E jรก que somos assim, por que usar Linux se pudรฉssemos continuar usando o velho e cabeludo Unix e nos livrarmos de Stallman e suas loucuras hippies.
E como diria o Homer: aliรกs, foi puro sarcasmo ...
Na ponta da lรญngua @juanfgs. โFragmentaรงรฃoโ รฉ algo que existe em todo sistema operacional, nรฃo importa o que seja, e nรฃo รฉ exatamente uma coisa ruim, muito pelo contrรกrio, que a diversidade fala muito sobre a saรบde de um sistema operacional e sua adoรงรฃo em qualquer campo.
ร como tudo, e o exagero dos juanfgs faz muito sucesso, nรฃo sou contra, sou contra a grosseria da quantidade de fragmentaรงรฃo. Claro, se nรฃo fosse por isso, nรฃo terรญamos o linux e a evoluรงรฃo do software nunca aconteceria, mas tanta fragmentaรงรฃo torna o linux impossรญvel de prosperar no desktop.
Do meu ponto de vista, se รฉ uma necessidade tem que ser feito, linux foi uma necessidade, devuan รฉ um capricho, emacs รฉ um capricho, Ubuntu uma necessidade (e eu nรฃo gosto disso). Enfim, รฉ claro que รฉ vรกlido nรฃo concordar sobre o que รฉ e o que nรฃo รฉ, a questรฃo รฉ que tudo em excesso รฉ ruim, e o linux sofre de fragmentaรงรฃo excessiva
"E o Linux sofre de fragmentaรงรฃo excessiva"
Comparado com o quรช?
Vamos comparar, quantos editores de texto para desenvolvimento ou IDEs existem em software livre e software proprietรกrio?
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B
Se vocรช olhar a tabela, hรก muitos IDEs gratuitos que realmente aparecem em mais de uma categoria, enquanto os proprietรกrios se concentram em fazer seus produtos para um รบnico idioma. Olhando para aquela tabela, eu diria que o software proprietรกrio รฉ mais fragmentado em termos de busca de lucro (em muitos casos desnecessรกrio).
Fragmentaรงรตes em programas de software livre sรฃo causadas pelo seguinte:
- Os programadores desejam adicionar funcionalidade ao X IDE, mas nรฃo programam na linguagem que estรก escrita
- Os programadores nรฃo concordam com as filosofias IDE existentes para uma linguagem
- Os programadores querem melhor suporte para a linguagem X e nenhum IDE atual oferece isso
No caso do GCC, รฉ absolutamente o oposto. E รฉ porque o GNU sempre preferiu coleรงรตes no estilo UNIX (em parte daรญ o acrรดnimo GNU nรฃo รฉ Unix se vocรช notar que o stallman o explica em sua pรกgina), portanto emacs ou GCC sรฃo grandes coleรงรตes integradas de componentes. Sua reclamaรงรฃo รฉ basicamente: ยปo desenvolvedor X nรฃo faz as coisas da maneira que eu quero que eles faรงam, e eu (que nรฃo contribuo com nada) quero que elas sejam feitas dessa maneira, entรฃo eles sรฃo estรบpidos por nรฃo fazerem o que eu diga com SEU tempo ยป
Mas, como sempre, รฉ mais fรกcil montar uma novela de algo que รฉ lido em uma lista de mala direta do que simplesmente colocar o seu traseiro na cadeira e contribuir com cรณdigo.
Concordo plenamente com o Federico e acho que o melhor รฉ ter ferramentas diferentes e mรบltiplas ร nossa disposiรงรฃo. A propรณsito, artigo muito bom.
OKโฆ. outra postagem de um editor confuso, que nรฃo tem ideia
dos fundamentos do SL e com um รณdio incompreensรญvel do GNU.
O software livre tem um custo, alรฉm do econรดmico, que pode ser cobrado ou nรฃo
para os usuรกrios, รฉ moral e custa muito, portanto, poucos podem pagar e outros
Poucos contribuem, embora possamos todos usรก-lo sem ter a porra da ideia de que
ร sobre, que vocรช quer massa, depois vende, que quer engolfรก-la no seu projeto?
em seguida, pagar a licenรงa com GPL
seja livre, seja GNU, ho ho ho
A "fragmentaรงรฃo" รฉ inerente ร evoluรงรฃo, รฉ uma qualidade essencial: a capacidade de adaptaรงรฃo รฉ o que garante a sobrevivรชncia de uma espรฉcie.
Se nรฃo fosse pela fragmentaรงรฃo, terรญamos apenas carros Ford, e o Linux nunca teria existido.
Tem toda a razรฃo, o que se passa รฉ que no Linux nรฃo existe fragmentaรงรฃo, existe uma grosseria de uma fragmentaรงรฃo exagerada e tudo o que sobra รฉ mau. Basta ir ao distrowatch e vocรช verรก quantas distribuiรงรตes Linux existem, como um programador se preocupa com o seu programa funcionando bem em todas elas?
"Como um programador se preocupa se seu programa funciona bem em tudo?"
Isso nรฃo รฉ algo com que o desenvolvedor deva se preocupar, ele disponibiliza seu cรณdigo-fonte e todos os empacotam como querem.
Talvez alguma distro nem queira incluir o programa em seus repositรณrios, e o desenvolvedor nรฃo tem voz em algo assim, e essa รฉ a coisa certa a se fazer, o desenvolvedor nรฃo รฉ a coisa mais importante do mundo.
Convido vocรช a comparar o nรบmero de marcas e modelos de carros (cuja รบnica funcionalidade รฉ transportar pessoas) com o nรบmero de distribuiรงรตes Linux (sistemas operacionais que possuem milhares de funcionalidades e formas de uso) e vocรช vai perceber que a suposta "fragmentaรงรฃo "Aquele de que estรฃo falando nรฃo รฉ problema: Qual pergunta รฉ mais difรญcil:" Qual carro eu escolho? " ou "qual distro eu escolho?"
Ou melhor, como um fabricante de pรกra-brisas faz seu "vidro" funcionar para todas as marcas e modelos do mercado?
A propรณsito, por que a "fragmentaรงรฃo" nรฃo fez o Linux falhar no mercado de servidores? E quanto aos roteadores? E no celular?
Mu conclusรฃo: A fragmentaรงรฃo nรฃo รฉ um problema, รฉ inerente ao ser humano que ele รฉ LIVRE para fazer o que quiser. O contrรกrio รฉ a imposiรงรฃo de uma ideia รบnica (ou um par), de uma forma รบnica de fazer as coisas. Isso รฉ "nรฃo fragmentaรงรฃo", que sรณ รฉ dado pelo domรญnio de alguns sobre muitos outros.
Saudaรงรตes.
O autor Daniel N queria nos informar sobre uma funcionalidade que permite aos editores de texto simples receber informaรงรตes externas de outro componente do sistema. Esta รฉ a assistรชncia do cรณdigo Gnome ( https://blogs.gnome.org/jessevdk/2014/04/11/gnome-code-assistance/ ) que atravรฉs do D-Bus permite comunicar as mensagens de erro de um determinado compilador (neste caso Clang) com um editor de texto (Gedit). As mensagens de erro que o compilador Clang lanรงa incluem o nรบmero da linha onde estรก o erro, e o plugin Gedit "gedit-code-Assistance" permite mostrar esses erros no prรณprio cรณdigo fonte.
ร algo semelhante ao SyncTex, que nos permite nos posicionar em qualquer linha de texto de um PDF gerado por LaTeX, e abrir um editor de texto, mostrando o cรณdigo LaTeX que gerou a linha do PDF (e vice-versa). Muito รบtil para depuraรงรฃo.
Portanto, รฉ como se um editor de texto simples se tornasse um pseudo-IDE, que geralmente exibe erros e cรณdigo ao mesmo tempo.
ร uma pena que um artigo que poderia ser รบtil tenha sido coberto por tantos comentรกrios fora do tรณpico sobre a liberdade do software livre, o que รฉ importante, mas nรฃo neste contexto.
De qualquer forma, a soluรงรฃo รฉ simples: reรบna os autores dos comentรกrios e crie um plugin para gcc que se comunica com o D-BUS e implementa a funcionalidade de assistรชncia ao cรณdigo do Gnome.
ERRO:
A soluรงรฃo รฉ os autores do Gnome usarem o GCC em vez do CLang para sua "Assistรชncia ao cรณdigo Gnome", uma vez que ambos possuem a mesma funcionalidade, como alguรฉm jรก comentou:
http://stackoverflow.com/questions/14072779/how-can-i-run-gcc-clang-for-static-analysis-warnings-only
O erro do autor deste post รฉ acreditar que porque o Gnomes optou pelo Clang ao invรฉs do GCC, o problema รฉ do GCC.
ร como quem acredita que o Linux รฉ o culpado por nรฃo ter drivers para determinados hardwares, quando os fabricantes sรฃo responsรกveis โโpor criar drivers para o SO onde querem que funcione.
Teremos que fazer engenharia reversa no Gedit tambรฉm para ter um assistente de cรณdigo com o GCC? (pelo menos serรก mais fรกcil, porque temos o cรณdigo)
Alรฉm disso, se vocรช ler o artigo vinculado (https://blogs.gnome.org/jessevdk/2014/04/11/gnome-code-assistance/) Fale sobre os problemas que eles tรชm com o clang !!!
ยซO segundo problema รฉ que nรฃo controlamos realmente a libclang, por isso, se houver algum bug que possa causar falhas, nรฃo hรก como contornar tรฃo facilmenteยป ... ยปdescobrimos que a libclang ainda nรฃo era tรฃo estรกvel esperava ยป
ยซNรฃo poderรญamos estender facilmente o plugin para outras linguagens alรฉm das suportadas por libclangยปโฆ ยปNo gedit, sรณ suportamos C (e por extensรฃo Vala) e pythonยป
ร claro que clang vs gcc foi uma decisรฃo da equipe gnome por algum motivo prรณprio, nรฃo por causa das supostas "deficiรชncias" do GCC como o autor deste post supรตe (na verdade eles estรฃo encontrando deficiรชncias no CLang, portanto nรฃo o software รฉ perfeito, seja ele gratuito, aberto ou fechado)
Saudaรงรตes!
Blรก blรก blรก.
Se vocรช usa Linux e tolera o Windows ... Melhor voltar ao Windows, nรฃo precisamos de vocรช aqui
Estou vendo muitos comentรกrios crรญticos do autor que sรฃo infundados. Vamos colocar os fatos na mesa, os desenvolvedores do GCC sรฃo muito fechados e nunca abertos a inovaรงรตes. As empresas entรฃo apoiavam o Clang e agora ele gera mensagens de erro melhores e permite a anรกlise de cรณdigo (e muito mais) por meio da libclang. Por exemplo, para transferir uma biblioteca de C para Rust, ferramentas libclang sรฃo usadas, nรฃo porque nรฃo gostamos do GCC, mas porque eles se recusaram diretamente a colocar esses recursos.