代码之家  ›  专栏  ›  技术社区  ›  Goblin

Linux编程-如何开始?

  •  3
  • Goblin  · 技术社区  · 14 年前

    我已经冒险在其中一个盒子上安装了Linux(LinuxMint9,如果这很重要的话),我想开始一些小时间的编程……但从哪里开始呢。

    我的背景:

    • 主要是c/wpf中的lob应用程序
    • 一些XAL基础
    • 一点点的vb/vb a和Silverlight

    我想转向一种新的编程语言——但仍然专注于桌面应用程序。

    我需要什么:

    • 一个编辑-最好有很好的理解力
    • 一种编程语言和开始使用的资源

    如果有人能给我指明正确的方向,我会很高兴有人推我一下……

    编辑: 谢谢你的建议-我想出了以下几点:

    • 我将从python开始-并使用vim作为编辑器

    我稍后会尝试试用Vala和Perl,并将MyDebug作为备份编辑器——如果所有其他的都失败了,我将转向C++。我对所有答案都投了反对票,因为它们都帮助了我。

    编辑2: 好吧-维姆有点太强硬了…上面装了奶油。

    7 回复  |  直到 13 年前
        1
  •  3
  •   viraptor    14 年前

    取决于你想学多少(从最容易的选择到最难的选择):

    • 只使用 C# via Mono -这使您可以通过mono.unix访问大多数posix接口,访问 GTK# 所以你可以做桌面应用,访问许多Linux库,这样你可以做更多高级的东西/更好的集成。(你可以编程 Monodevelop -这是一个SharpDevelope克隆,有点像是对ISH)
    • 学习 Vala -它是一种编译成C语言的语言,与C语言非常相似,但更接近于最低限度。它聚集了一些反微软的人,他们想对C imho做出回应。(从未真正使用过它,但显然MonoDevelopment有一个Vala插件,并且该语言本身变得越来越流行)
    • 学习 Python -它是一种脚本语言。它可以绑定到最流行的库(也可以是GTK和Qt)(IDE:任何可以编辑文本的东西——无论如何,动态语言都不能提供很好的IntelliSense)
    • 学习C++和QT,或者C和GTK——尽管它们是非常低级的语言,你会花很多时间才适应环境。(ID:Anjuta,KDevelopment,用C++插件开发,Eclipse + CDT,Emacs,VIM等)-任何事情都会发生)

    如果你想要“新东西”,但不想花大量时间学习一个全新的环境,我建议你尝试一下Vala。如果你对不同的风格更感兴趣,那就使用python吧,我认为它对新手有很好的指导(但对编程并不陌生): Tutorial Beginner's Guide . 使用python,您还可以在任何发行版的包中使用整个环境,而对于vala来说,还没有这样的运气。

        2
  •  6
  •   Michael Aaron Safyan    14 年前

    与Windows世界不同的是,所有的东西都是只设计为Windows的,我认为这是很典型的发现,世界上其他地方的软件设计都是规范的,而不是实现的。如果您正在爪哇开发,那么您打算使用哪个平台并不重要,Eclipse和NETBees为所有平台上的Java提供了极好的工具,包括Linux。如果你在C++中开发,那么Boost和Qt提供了极好的跨平台支持。如果您需要超越boost或qt,那么在深入研究特定于Linux的特性之前,最好针对 Single UNIX Specification 亦称为 IEEE Std. 1003.1 POSIX 这将确保您的应用程序不仅运行在Linux上,而且还运行在任何与UNIX兼容的操作系统(包括Mac OS X、FreeBSD、Solaris等)上。

    至于IDES和其他编辑器…我认为在Unix平台上的大多数程序员都是从命令行构建的(使用cmake、make、scons或其他一些标准构建工具);但是,有很多IDE支持自动运行这些工具。Anjuta C++和KDevelop可能是Linux上最容易使用的IDE。Emacs(Emacs、Emacs GTK、Xemacs)和Vim(Vim、GVIM)提供了大量的功能和灵活性,但需要更多的时间来适应。您可能还需要考虑一个基本的文本编辑器,例如gedit(gnome)或kate(kde);gedit虽然被称为简单的文本编辑器,但它通过许多插件支持一些更高级的编码功能。我不记得它是否支持自动完成,但它支持行号、自动缩进、使用空格而不是制表符、大量注释代码块以及使用快捷方式执行makefile。

        3
  •  2
  •   eruciform    14 年前

    尝试 perl python 看看对你有什么吸引力。学习 bash 在命令行中愉快地四处走动。如果你感觉冒险,就给C/C++一个镜头。

    至于编辑,这可能会引发一场神圣的战争,但是如果你在命令行使用,请查看 vim emacs 选一个,感叹“敌营”里的人永远不交朋友。

        4
  •  2
  •   zengr    14 年前

    我说的是python+emacs或gedit(什么适合你)

        5
  •  2
  •   David Z    14 年前

    LinuxMint是一个KDE环境,对吧?这将使您开始在C++中编写KDE应用程序非常方便。kde所基于的qt工具包被广泛认为是相对开发人员友好的,这应该使您很容易入门。

    如果你想走这条路,我建议你下载kdevelop,它是kde的ide(为开发kde程序而优化,但它可以处理几种不同的语言)。或者,可以使用具有C++能力的Eclipse。有关如何开发KDE应用程序的教程,请访问 http://techbase.kde.org/Development/Tutorials . (不幸的是,我认为这些文档不如KDE4出现之前的文档那么好,但应该足以让您开始学习。)

    编辑 试想一下,你可能想先尝试编写一些C++控制台(非GUI)应用程序,因为在进入GUI编程之前,更容易使用基本C++。根据你的经验,这不应该太难接受。不幸的是,我不知道有什么特别好的资源来学习C++,但是我确信信息在这个站点的某个地方,KDebug或者Eclipse作为简单的C++控制台应用程序的IDE也会很好地工作。

        6
  •  2
  •   Alexandre C.    14 年前

    奇怪的是没人建议 ALP 即使它有点过时,它也教会了我很多关于Unix编程方式的知识。

        7
  •  -1
  •   unixman83    13 年前

    第一,学习 C 是必须的!

    Perl在大多数情况下使用不足,您将希望学习 bash shell脚本 相反。

    Grock现有(稳定的、编写良好的软件)的C代码示例是Linux内核本身!谷歌 Linux LXR

    一旦您学习了C(在Linux中)的基础知识, 曼德斯 是一种宝贵的资源。只要做 man printf 例如,有关将字符写入屏幕的信息。

    如果你在说图形化的图形用户界面程序,你需要学习 GTK+ 或是其中之一 跨平台GUI工具包 (例如wxwidgets)。 不要学习对X Windows系统进行编程 直接地 除非你疯了。

    对于文本编辑器,我喜欢 科摩多编辑 文本编辑 .