如何在Windows上花费超过10年后迁移到* nix平台?哪种味道会容易处理,让我更舒适,然后我可以切换到更多stadard * nix味道? 我一直在推迟一段时间。帮助我额外的推动。从Windows转移到* nix编程平台
回答
Linux是最容易访问和具有最成熟的桌面功能。 BSD(initsvariousflavours)拥有较少的用户空间,并且在基本级别上更容易理解。在这方面,它比传统的Linux发行版更像传统的Unix。有些人可能认为这是一件好事(并且从某些角度来看),但对熟悉Windows的人来说会更加陌生。
主要的桌面系统是Ubuntu和Fedora.这些都能够系统,但在他们的用户空间架构有所不同的桌面环境,并默认配置为系统安全的工具的工作原理有点不同Ubuntu上比它在其他大多数Linux或Unix的风格,但这与开发没有多大关系。从用户角度来看,这些都是一个好的开始。从开发人员的角度来看,Unix和Linux的所有现代风格都非常相似,并且共享基本相同的开发人员工具链。如果你想从程序员的角度来了解这个系统,那么选择相对较少。
大多数unix编程都可以用程序员的编辑器(例如vim或emacs,)完全有效地完成,它们都是文本模式和窗口风格。这些编辑器功能非常强大,而且具有相当古怪的用户界面 - 用户界面通常很有用,但对工具的强大功能起着重要作用。如果您不熟悉这些工具,this posting讨论了几种其他编辑器,它们提供的用户体验更接近常见的Windows工具。
有几个IDE,如Eclipse,可能会有人更喜欢有人脱离Windows/Visual Studio。
是讨论LINUX/UNIX资源#2有些帖子是:
如果你的T ime,并想做一个真正的螺栓螺栓Linux From Scratch是一个教程,通过手工构建一个Linux安装。这是深入学习的好方法。
对于编程,从K & R和上面链接的问题中提到的一些资源中获得C/unix的感受。彼佐尔德,Prosise和里希特在Unix世界的等效是理查德·史蒂文斯Advanced Programming in the Unix Environment和Unix Network Programming vol. 1and 2.
学习动态语言如Perl或Python的一个,如果你不熟悉这些也是一个有用的东西做。作为奖励,您可以从Activestate获得上述两个良好的Windows端口,这意味着这些技能在两种平台上都很有用。
如果您使用C++,请看QT.这无疑是目前市场上最好的跨平台GUI工具包,并且(又)具有可转移回Windows的技能集和工具链的优势。也有severalgoodbooks主体和(作为奖金)也works well with Python.
最后,Cygwin是在Windows上运行,并给出大致类似Unix的环境Unix的仿真层。在架构上,Cygwin是glibc和crt(GNU工具链的基本库)的端口,作为Win32之上的适配器。这个仿真层使得将unix/linux应用程序移植到Cygwin变得很容易。该平台带有一套相当完整的软件 - 基本上是一个托管在Windows内核上的完整Linux发行版。它允许您在Windows上以unix方式工作,而无需维护单独的操作系统安装。如果你不想运行虚拟机,多个引导或多台PC,它可能是一种简化为unix的方式。
woaw thx这么多,ubuntu下载已经开始,我试图与桌面版9.x – dhaval 2009-07-02 20:34:15
为“BSD(在其各种口味)”的链接:) – 2010-08-17 14:01:41
也为BSD +1。我尝试从Windows切换到Linux,但它不起作用。我最终尝试了OpenBSD,并且实际上很喜欢它,即使不知道如何使用它。我认为我从BSD学到的东西更多,仅仅是因为我没有假设在UI中有Windows兼容性。这是完全不同的,迫使你学习。这就是说,现在我使用Arch Linux和OpenBSD。我喜欢这两种,但BSD总是比Linux的 – Earlz 2011-06-17 16:38:49
Ubuntu似乎对用户非常友好,并且在论坛等中有很多具体的信息。因此,支持明智的你会被覆盖。
我经历了从windows到ubuntu的转变,因为它非常实用,可以在windows中以图形方式做的事情可以在ubuntu(也许是一些例外)中完全相同,也可以做得更多。精通电脑的人不应该有任何问题。
但是,如果您熟悉基本的shell命令(您将需要它们作为程序员!),它会有很大的帮助。有些和windows一样,但是特别是ls(dir)有时候让我为了“那个命令又是什么”而折磨我的大脑,而当我回到窗户时,反之亦然。 花一些时间来尝试一下。 (例如:pwd,ls,mv,rm,ps,kill)
最后,在安装程序时,通常一个简单的“sudo apt-get install X”会为你做所有的工作,比用户更友好我发现安装程序可执行文件。
编辑:在安装双启动之前,您可能想尝试使用VMware播放器并尝试使用几个Linux发行版。
更干净,其中vmplayer是在winxp上为ubuntu推荐的? – dhaval 2009-07-02 20:35:21
我想这也取决于你所熟悉的编程语言。
如果您曾经使用过C#,那么您可以通过运行Mono来使用知识,或者查看使用Java(这在语法上非常相似)。无论哪种方式,Linux都会很好。
我个人建议你看看Mac的OS X.它是一个基于unix BSD的操作系统,但顶部有一个非常漂亮的用户界面。对我来说,这感觉就像Windows和Unix世界中最好的一样。
我做了我所有的unix开发,部署到Ubuntu服务器上。如果你看看Mac,那么一定要看看MacPorts这个项目,该项目打包了大量的开源unix/linux软件,使编程工具的安装变得非常简单。
获取一个macbook pro。 OSX是unix最流畅的版本,笔记本电脑应该为您提供所需的驱动。
然后,当你感觉更加自信时,你可以决定是否要花大部分时间配置声卡,运行./autoconfigure &,并调试包管理器拧紧。
你可以在你的机器上运行的任何现代版本的Unix(或Linux)都可以。
这里是我会考虑的:
- Ubuntu Linux系统。正如其他人所指出的,这通常被认为是最容易使用的。但是有些部分不是“标准的”Unix。例如,启动脚本不使用
init
。这主要是一件好事,但如果你想学习Unix,可能不是你需要的。 - Fedora。出血边缘但边缘粗糙。
- Slackware。可能是最类Unix的Linux发行版(有些人会说过时!)。
- 其中一个* BSD:FreeBSD,OpenBSD,NetBSD。对于一些比Linux更不同的方法。
- Solaris。这是Unix的“正确”。与Linux相比,它看起来不错,但值得一看,看看什么是“标准”。
事实上,我会考虑运行至少其中的几个,大多数运行良好的虚拟机。关于Unix的一个好的和坏的事情是,标准化的东西比许多细节更多的是philosophy。没有Visual Studio,没有C#(我的意思是没有规范的高级语言;我知道Mono)。
尝试Kubuntu作为发行版,Kdevelop和Qt开始编程,这都是非常文明的。
凯特的一个ok记事本式的文本编辑器,如果你想要这样做,但我不明白为什么你想进入Vi或Emacs除了使用真正神秘的东西的怪异魅力。
优秀的答案。几点意见:
几乎所有的发行版都支持LiveCD,让你在安装之前尝试。人们提到VMWare和VirtualBox,也注意到Ubuntu的WUBI安装程序可以让你在Windows下安装Linux而不需要重新分区;非常好;当我第一次切换到我的64位系统时,我使用它,因为我不确定驱动程序支持有多好。不过,Ubuntu 9.04在64位版本上效果很好。另外,由于Ubuntu非常受欢迎,它的版本很多,Kubuntu使用KDE代替Gnome,Mint和Xubuntu的重量更轻。
从Windows转换时,预计会并排运行一段时间。 Cygwin为习惯bash的人提供了一些很好的可下载手册,以及针对Windows用户的关于* nix如何工作的基本信息。有很多有用的网站; Ubuntu社区论坛为初学者和高级用户提供了大量的信息。
为了习惯在Linux下开发,请检查Linux文档项目。除KDevelop之外,还有Anjuta,Eclipse等等。有些很轻,有些很重。
可以缓解转换的一件事是使用在两个操作系统中运行的软件。 Firefox,Thunderbird,OpenOffice,Subversion,以及数百人(如果不是成千上万的人)在Linux和Windows上运行良好。只需很少的努力,您就可以使用相同的文件夹来处理应用程序设置和数据。 Firefox和Thunderbird可以轻松地在NTFS分区上使用相同的文件夹/文件。使双启动更容易。说明位于Ubuntu社区网站和其他位置。
请注意,某些Linux软件不是NTFS友好的;在Linux中将您的Subversion工作文件夹保存在本地分区上。
共享应用程序设置的一个注意事项;一些应用程序存储绝对路径作为解决方法,您可以创建看起来像Windows驱动器号的符号链接。
在熟悉Linux之后,分支并尝试使用非Windowsy应用程序和工具。有时候不同更好。很多人使用Emacs和Vim的原因很多。
- 1. 任何多平台汇编程序设计教程(Mac + Win + Nix)?
- 2. 跨平台移动平台编程
- 3. 从Web编程转移到GUI编程?
- 4. 将跨平台C++库移植到Windows Phone 8平台
- 5. 用html5跨平台编程?
- 6. 从* nix到Windows移植一个markdown-live-preview-in-vim插件
- 7. Windows平台ClearCase服务器从7.1迁移到8.0
- 8. 从Xbox移植到Windows 8
- 9. 从大型MS-Access数据库转移到新平台
- 10. 平台与移动平台
- 11. 多平台编码
- 12. EF迁移通用的Windows平台
- 13. PhoneGap - 从iphone到android的平台转换
- 14. 如何从“转到”另一个控制台应用程序中编写的控制台应用程序转移?
- 15. 跨平台(移动)平台图像转换
- 16. 将应用程序从Oracle Weblogic平台迁移到Red Hat Jboss
- 17. 平台“windows”
- 18. (非Windows)平台
- 19. 从旧Azure帐户移动平台(网站,移动应用程序)到新的平台
- 20. 编程为64位平台
- 21. c#在其他平台上的Windows移动应用程序?
- 22. 编写一个跨平台的程序
- 23. 移植Python应用程序到移动平台
- 24. Dalvik是否移植到其他平台(例如Linux,Windows等)?
- 25. 将Windows平台C++移植到POSIX(Linux)C++ - WSAGetLastError()
- 26. 将ASP.NET项目的静态内容迁移到Windows Azure平台
- 27. WPF控件可以轻松移植到Windows 8 RT平台吗?
- 28. 跨平台编译和安装程序
- 29. Windows应用程序平台和目标平台的区别
- 30. X11从Windows转移到Docker中
我目前有相同的问题,在去年使用真正高水平的WPF/.NET的东西后。 * nixes似乎没有太多与我所知道的兼容的东西。 – IanGilham 2009-07-02 08:33:39
实际上,XAML主要来源于Mozilla的XUL。这个平台从未在firefox插件开发之外脱颖而出。 XulRunner不像.Net那么全面,但是范例可能足够接近WPF以找到一些共同点。 – ConcernedOfTunbridgeWells 2009-07-02 09:03:47