Quais recursos padrão estão faltando no Windows, necessários para programadores? [fechadas]


13

Quais recursos estão faltando no Windows que podem melhorar a produtividade de um programador. Eu sei que muitas pessoas gostariam que alguns recursos do Linux e OSX fossem portados ou criados para Windows também. O que está faltando para você?

Um exemplo seria a opção de ter vários espaços de trabalho. Quando não houver a possibilidade de usar monitores duplos que podem ser úteis.


Vários espaços de trabalho? Você quer dizer ... subdiretórios?
Shog9

10
@ Mr.CRT você já usou o linux?
Ygrec

7
Eu acho que por "espaços de trabalho" ele quer dizer áreas de trabalho virtuais.
Jesse Buchanan

@ Ygrec: sim. Se, como jbinto adivinha, você quer dizer desktops virtuais, não tenho certeza de como isso se classifica como uma ferramenta essencial para programadores. Eu os acho muito úteis para tarefas como edição de imagens, mas para a programação basta ter vários consoles abertos ao mesmo tempo - e ambos os sistemas operacionais suportam isso (embora com uma diferença ... triste nas conchas disponíveis).
Shog9

Tanto o gnome quanto o kde se referem ao recurso de áreas de trabalho virtuais como áreas de trabalho que são de longe os ambientes de área de trabalho linux mais comuns, tomate / tomate.
Quaternion

Respostas:


14

Um compilador e um shell útil.


Esclarecimentos com base nos comentários:

Eu não estava claro, eu deveria ter escrito o compilador C / C ++. Compiladores para C # ou Fortran não contam, pois muitas das ferramentas e bibliotecas necessárias requerem um compilador C ou C ++. Costumava ser muito ruim, onde você não podia criar extensões C para Python com outro compilador que não o Microsofts, porque foi com isso que o Python foi compilado. Acho que o MinGW resolveu isso e você pode fazê-lo com o MinGW agora, mas é uma boa razão por que um compilador C / C ++ padrão deveria ter sido incluído ou disponibilizado gratuitamente há 20 anos. Ultimamente, a Microsoft está começando a entender o poder de ter um exército de programadores de hobby disponíveis.

Eu não usei o PowerShell, talvez seja bom. Mas a utilidade do bash para mim não está na linguagem shell. A família de línguas * sh é bestas horríveis de qualquer maneira. Eu até prefiro arquivos em lote. ;) São coisas como a recuperação e pesquisa do histórico de comandos, que são relativamente básicas no Windows, e com pipelines e coisas sobre as quais estou falando (e vejo que o powershell tem pipelines, então isso é bom).

Há coisas boas no Windows também, mas esse é outro tópico. ;)


2
É por isso que as distribuições Linux normalmente agrupam vários compiladores e intérpretes com muito mais disponível no gerenciador de pacotes.
David4dev

1
@ Victor Hurdugaci: Você tem um ponto lá, mas o que mais falta é, obviamente, um compilador para C / C ++.
Lennart Regebro

4
Certamente esta resposta está desatualizado - você tem um compilador e um escudo razoável (PowerShell) no Windows 7.
FinnNk

1
@ Matt: Bem, isso é apenas intolerância linguística de sua parte. Existem muitos compiladores gratuitos prontamente disponíveis para outros idiomas além dos idiomas da Microsoft, e duvido que você os acuse de empurrar um idioma para você.
Robert Harvey

4
Um shell útil, com certeza. Absolutamente ridículo que em 2010 você simplesmente não possa maximizar a janela do prompt de comando. WTF ?!
Colin Goudie

10
  • A capacidade de escrever e executar programas em várias linguagens (C, C ++, Python, Perl, Ruby ...) sem precisar instalar nada extra.
  • Ter pelo menos um editor de texto com destaque de sintaxe instalado por padrão.
  • Um gerenciador de pacotes para que você possa instalar facilmente bibliotecas extras, sistemas de controle de versão, IDEs etc.
  • Uma poderosa interface de linha de comando.
  • A capacidade de ajustar a interface gráfica do usuário para obter a máxima eficiência (atalhos de teclado, pontos quentes etc.)
  • manpages
  • Ter o código-fonte do sistema operacional e os pacotes de software facilmente disponíveis e licenciados de forma permissiva, para que você possa reutilizá-lo.
  • Bom desempenho em hardware modesto.

2
"Ter o código-fonte do sistema operacional e os pacotes de software facilmente disponíveis e licenciados de forma permissiva, para que você possa reutilizá-lo." O que?
Ygrec

2
apt-get source package-namesempre que desejar saber como funciona um pacote de software específico.
David4dev

4
Eu discordo do seu primeiro ponto. Por que inchar o sistema operacional com diferentes editores, compiladores e ambientes de tempo de execução, esperando que você satisfaça a todos? É melhor deixar que cada programador instale as coisas que ele precisa.
Victor Hurdugaci

3
@ Victor Hurdugaci: Isso seria verdade se o Windows já não estivesse inchado com aparentemente nada. Uma instalação típica do linux é uma ordem de magnitude menor e vem com todas essas coisas.
Matt Joiner

2
(1) Acabei de instalar o Ubunto e tive que instalar os idiomas e a ferramenta de desenvolvimento separadamente, assim como faço no Windows. (2) O bloco de notas é realmente um editor padrão inadequado; O TextPad está mais perto de um ponto ideal. (4) O teclado geral do Windows suporta melhor que qualquer desktop Linux que eu usei; Eu posso operar a área de trabalho e a maioria dos aplicativos sem um mouse conectado. #
Mud Mud

4

Eu posso retirar "obrigatório" do título, pois desenvolvi o Windows felizmente por quase 20 anos. Obviamente, desenvolvi uma boa caixa de ferramentas de utilitários e ferramentas. Veja a lista de Scott Hanselmann para iniciantes. É de primeira linha e remonta a 2003.

Aliás, o Windows 7 inclui o PowerShell, que ajuda nos comentários sobre o "shell decente".

Dito isto, é sempre bom ter ferramentas melhores incorporadas. Pegue qualquer uma das ferramentas da lista de Scott.

Realisticamente, o MS certamente poderia melhorar a interface do usuário de muitas ferramentas internas, como regedit, task mgr (cf. Process Monitor) e as ferramentas de visualização de eventos. Seria bom ter suporte interno para várias pranchetas. No OSX, eu gostaria de expor e o suporte a várias áreas de trabalho é bom. Seria bom se o Windows nativamente (também conhecido com mais facilidade) suportasse arrastar texto de caixas de texto.

O XCode realmente é um saco IMO, então eu não gostaria disso no Windows. O VS é muito melhor, mas não embutido; portanto, talvez o VS Expense embutido possa atualizar. Obviamente, a pegada do sistema operacional cresce com isso (como acontece com o OSX), então também há uma desvantagem.

O gcc distribuído é muito bom, portanto seria muito bem-vindo como uma estrutura interna para qualquer compilador usar (consulte Incredibuild para obter uma solução VS).

Seria bom se fosse mais fácil obter e usar uma compilação verificada do sistema operacional para encontrar problemas. O uso de cabos de depuração é um pouco extremo para as boas informações que você obtém do Checked Build. As VMs podem fazer isso facilmente - se sim, alguém comente com um link.


Sim, um IDE básico seria especialmente bom, caso um editor de texto moderadamente bom fosse o começo.
FinnNk

@FinnNk, quais são os requisitos para um editor de texto "moderadamente bom"?

Algum suporte para realce de sintaxe, pesquisa / substituição de expressões regulares, várias janelas, espaço em branco visível e numeração de linhas - para que eu não tenha algo parecido com o emacs em mente (embora isso fosse bom como uma opção). Embora não seja realmente um editor de texto, hoje em dia, para pequenos pedaços de código .net, uso muito o LinqPad.
FinnNk

4

BASH, sed, grep, awk, find e ssh


Eu executei a maioria das pessoas no Windows ... e posso fazer a maioria dos itens acima com o PowerShell.
Murph

2
ssh com suporte para x windows;) O Bash é poderoso, mas tudo sob ele é personalizável, um shell é tão poderoso quanto os recursos que ele pode manipular.
Quaternion

Desde quando awk e sed são necessários para um programador?
dinâmico

2
  • Copiar / colar para vários objetos
  • Colar sem formato (sem informações de fonte / tamanho)

3
+1 para livre de formato. Eu sempre colo em uma área de texto em uma página da Web ou bloco de notas e corto para remover estilos de texto.
Macneil

3
O Windows suporta colagem de texto sem formatação, os aplicativos só precisam implementá-lo como uma opção.
GrandmasterB

1
@GrandmasterB Então, é um desejo que as pranchetas sem formato sejam o padrão.
pestaa

2

A capacidade de alterar a interface do usuário para diferentes níveis de conhecimento dos usuários.

Por exemplo, como desenvolvedor / administrador, você pode precisar de um nível de especialista em UI.


1

As ferramentas de processamento de arquivos Unix (wc, sort, uniq, awk, cat, grep, find etc.), incluindo - como outros já mencionaram - um bom shell (por exemplo, bash).

Para ser produtivo no Windows, quando estiver trabalhando com qualquer coisa relacionada a texto, acabarei precisando entrar na caixa de ferramentas de comando do Unix. Felizmente, Cygwin é um excelente recurso apenas para esse fim.

Dito isto, você precisa "domar" o Cygwin para funcionar bem com o sistema de arquivos do Windows; a menos que você substitua algumas configurações padrão, poderá obter arquivos com permissões desagradáveis ​​e difíceis de excluir. Qualquer coisa muito acima das necessidades básicas e você está melhor com uma VM ou inicialização dupla, mas para os meus propósitos, estou bastante satisfeito com o Cygwin.


0

Eu concordo com os outros posts para adicionar:

Sinto falta do ssh com x forwarding vs windows remote desktop. Para aqueles que não sabem, você pode executar um programa de desktop na rede, mas ele funciona como uma janela local.


0

Suporte para argumentos de linha de comando mais longos. Você encontrará rapidamente problemas ao criar soluções java complexas que não usam os sistemas de construção da Microsofts.


0

valgrinde gcov?

Uso o PowerShell ao desenvolver no Windows (como hobby) e instalei as ferramentas GnuWin32 (sed, awk, grep, etc ...) e o Python para obter scripts fáceis, por isso não há problema.

Mas me pego batendo no muro sempre que quero inspecionar meu programa ... Claro que posso usar o depurador (um pouco), mas:

  • como detectar um vazamento de memória?
  • como se identifica os porcos da memória?
  • como se identifica os pontos quentes?
  • como se identifica partes não utilizadas / não testadas do código?

Eu vi algumas ferramentas aqui e ali e houve uma boa pergunta no StackOverflow e o número de ferramentas listadas é bastante assustador ... e suas limitações também.

O Linux foi desenvolvido por desenvolvedores para desenvolvedores, por isso tem muito mais ferramentas amigáveis ​​para desenvolvedores :)


0

Copie / cole com função de histórico.

Felizmente, o ClipX oferece uma solução:

ClipX

PS Não sou afiliado ao ClipX;)


-1

Um shell decente, além de um compilador, seria um bom começo no que diz respeito aos recursos "padrão".


csc.exe está incluído no .NET framework. Você pode compilar o código C # com ele.
Victor Hurdugaci

@ Victor: Isso está incluído no estoque do Windows?
Josh K

Sim. O .NET 3.0 é enviado com o Windows 2008 e o Vista, enquanto o 3.5 é fornecido com o Windows 7. #
Victor Hurdugaci

3
Concordo que, se estamos falando da versão atual do Windows, essa resposta não faz sentido - você obtém um compilador e um PowerShell.
FinnNk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.