我非常拥护开源软件的概念。作为一个社会,我们正处于信息共享比以往任何时候都更加关键的时刻。技术论坛以多种方式支持开源的使命。首先,它们允许程序员在其专业知识之外工作。其次,论坛允许人们分享他们使用软件的经验。最后,它们允许并非总是(通常不是)训练有素的程序员的科学研究人员,在一个完整社区的帮助下开展研究,以帮助他们做出设计决策并帮助他们克服技术难题。
在其专业知识之外工作
非常频繁地出现人们使用次优语言或框架工作的情况,因为他们根本不知道有更好的选择!通过论坛成为技术社区的成员,使他们能够询问“我正在尝试做 XYZ。我计划用 C++ 来做,但这似乎很笨拙。您会如何处理?”这类问题的答案使人们最终能够使用“正确”的语言或框架工作。即使他们不太了解(或根本不了解!)该语言,他们也可以放心地这样做,因为他们知道,如果(当!)他们遇到问题时,实际上有成千上万的人可以向他们求助。
分享开源软件的使用经验
一个典型的对话可能是这样的:
问题:我一直在尝试使用 OpenGL 渲染一个球体,但我遇到了 XYZ 问题
答案:OpenGL 是一种非常底层的语言,您可能不应该将其用于此应用程序。相反,您应该查看 VTK 项目,它是在 OpenGL 之上的一个层,允许您非常简单地完成您正在尝试做的事情。
您可能会想,“这个人不能使用搜索引擎找到这个项目吗?” 嗯,在这种情况下可能是可以的。但是,在许多情况下,开源工具尚未获得大量知名度,但仍然可以完全满足某人的需求。来自其他程序员的这种指导可以帮助人们朝着正确的方向前进,并可能提供他们开始从事开源项目所需的动力!
让科学研究人员专注于他们的研究,而不是技术问题
我的正式培训是电气工程专业。除了少量 MATLAB 之外,几乎不需要任何严肃的编程技能。当我决定攻读计算机视觉博士学位时,我很快意识到该领域的首选语言是 C++。我发现我的 C++ 水平越高,我就能越快地将想法/概念转化为实验。在多次网络搜索未能找到令人满意的答案后,我决定尝试在论坛上发布/提问的概念。我注册了一些论坛,尽管 DaniWeb.com 从一开始看起来就最专业,并且似乎最活跃。
我在 DaniWeb 扮演着双重角色。首先,是我的学习者角色。我在 DaniWeb 期间收到的答案质量非常出色。有几位成员是编程艺术和科学的真正专家,他们给了我莫大的帮助。能够免费获得这些专家的帮助,通过他们的意愿来分享和传播信息,这绝对是一种荣幸。
非常频繁地出现人们使用次优语言或框架工作的情况,因为他们根本不知道有更好的选择!通过论坛成为技术社区的成员,使他们能够询问“我正在尝试做 XYZ。我计划用 C++ 来做,但这似乎很笨拙。您会如何处理?”这类问题的答案使人们最终能够使用“正确”的语言或框架工作。即使他们不太了解(或根本不了解!)该语言,他们也可以放心地这样做,因为他们知道,如果(当!)他们遇到问题时,实际上有成千上万的人可以向他们求助。
分享开源软件的使用经验
一个典型的对话可能是这样的:
问题:我一直在尝试使用 OpenGL 渲染一个球体,但我遇到了 XYZ 问题
答案:OpenGL 是一种非常底层的语言,您可能不应该将其用于此应用程序。相反,您应该查看 VTK 项目,它是在 OpenGL 之上的一个层,允许您非常简单地完成您正在尝试做的事情。
您可能会想,“这个人不能使用搜索引擎找到这个项目吗?” 嗯,在这种情况下可能是可以的。但是,在许多情况下,开源工具尚未获得大量知名度,但仍然可以完全满足某人的需求。来自其他程序员的这种指导可以帮助人们朝着正确的方向前进,并可能提供他们开始从事开源项目所需的动力!
让科学研究人员专注于他们的研究,而不是技术问题
我的正式培训是电气工程专业。除了少量 MATLAB 之外,几乎不需要任何严肃的编程技能。当我决定攻读计算机视觉博士学位时,我很快意识到该领域的首选语言是 C++。我发现我的 C++ 水平越高,我就能越快地将想法/概念转化为实验。在多次网络搜索未能找到令人满意的答案后,我决定尝试在论坛上发布/提问的概念。我注册了一些论坛,尽管 DaniWeb.com 从一开始看起来就最专业,并且似乎最活跃。
我在 DaniWeb 扮演着双重角色。首先,是我的学习者角色。我在 DaniWeb 期间收到的答案质量非常出色。有几位成员是编程艺术和科学的真正专家,他们给了我莫大的帮助。能够免费获得这些专家的帮助,通过他们的意愿来分享和传播信息,这绝对是一种荣幸。
其次,是我的教师角色。我加入 DaniWeb 只有几年时间,但回顾过去,我的进步是自然的,我希望许多其他人也已经并将继续遵循这种进步。起初,我的关系几乎是单向的。我问了一个又一个问题,收到一个又一个答案。这对我来说很棒,但肯定会给整个社区带来负担。在我学习了足够的知识,对语言、一些 OOP 和其他编程概念感到非常舒适之后,我对社区产生了巨大的感激之情。回报这种感激之情最明智的方法是,从专家成员的肩上卸下回答简单问题的日常负担。这很快演变成帮助他人的真正热情。特别是,我从我参与的一个开源项目中的一位导师那里了解到,您应该对待每一位用户,无论他们的第一篇文章多么愚蠢或违反规则,都应该将他们视为下一个高级开发人员。对于经验丰富的论坛用户来说,有时新用户的帖子看起来简直是岂有此理!我们都知道,很多时候用户实际上只是懒惰,想找一条摆脱问题的捷径。但是,即使 1/100 的情况仅仅是语言障碍或对应该发生什么事情的误解,那么我们也应该值得花时间用友好的“欢迎!”来迎接他们,并(友好地)解释他们做错的一些事情,希望他们成为社区的贡献成员。培养下一代程序员成长的能力是一种真正的乐趣,也是我保持在 DaniWeb 活跃的主要原因之一。
由于我主要使用 C++,所以我可以说我在 DaniWeb 上的活动大约 95% 都在 C++ 论坛中。然而,DaniWeb 托管几乎所有语言的论坛非常方便,因为有时我需要在我不熟悉的语言中做一些事情。我不必去寻找新的论坛、注册、弄清楚如何使用他们的系统、想知道人们是否会友善/乐于助人等等,我可以简单地跳到其他 DaniWeb 论坛之一,环境与我在 C++ 论坛中习惯的优秀环境相同。这最后 5% 通常是最有帮助的,因为它通常是一个完全超出我的专业知识范围的问题。
我想说 DaniWeb 最好的部分是它积累的庞大用户群。这绝对是一个先有鸡还是先有蛋的问题——如果你建立一个好的网站,人们就会来访问它。如果你有很多用户,那么建立一个好的网站就会有动力(心理上和经济上)。他们庞大的用户群(超过 90 万注册用户)允许将各种各样的知识带到桌面。它还允许问题和讨论非常快速地发展,因为总是(24/7)有人在浏览论坛、提问和回答问题。这再次肯定会鼓励人们加入并参与 DaniWeb。
从帮助学生和研究人员,到培养程序员之间的社区意识,到让人们尽可能高效地工作,论坛都是一种了不起的资产。我鼓励每个人都花一些时间回馈这些社区,以确保循环继续下去。
由于我主要使用 C++,所以我可以说我在 DaniWeb 上的活动大约 95% 都在 C++ 论坛中。然而,DaniWeb 托管几乎所有语言的论坛非常方便,因为有时我需要在我不熟悉的语言中做一些事情。我不必去寻找新的论坛、注册、弄清楚如何使用他们的系统、想知道人们是否会友善/乐于助人等等,我可以简单地跳到其他 DaniWeb 论坛之一,环境与我在 C++ 论坛中习惯的优秀环境相同。这最后 5% 通常是最有帮助的,因为它通常是一个完全超出我的专业知识范围的问题。
我想说 DaniWeb 最好的部分是它积累的庞大用户群。这绝对是一个先有鸡还是先有蛋的问题——如果你建立一个好的网站,人们就会来访问它。如果你有很多用户,那么建立一个好的网站就会有动力(心理上和经济上)。他们庞大的用户群(超过 90 万注册用户)允许将各种各样的知识带到桌面。它还允许问题和讨论非常快速地发展,因为总是(24/7)有人在浏览论坛、提问和回答问题。这再次肯定会鼓励人们加入并参与 DaniWeb。
从帮助学生和研究人员,到培养程序员之间的社区意识,到让人们尽可能高效地工作,论坛都是一种了不起的资产。我鼓励每个人都花一些时间回馈这些社区,以确保循环继续下去。
3 条评论