سیستم کددهی خودکار فورترن برای IBM 704 در ۱۵ اکتبر ۱۹۵۶، اولین راهنمای مرجع برنامه نویسان برای فورترن
**فورترن** (به انگلیسی: Fortran، ‎/ˈfɔːrtræn/‎) یک زبان برنامه‌نویسی همه-منظوره، کامپایل شونده و دستوری می‌باشد که مخصوصاً برای محاسبات عددی و علم محاسبه مناسب است. فورترن در گذشته به صورت حروف بزرگ FORTRAN نوشته می‌شده که کوته‌نوشت FORmula TRANslation می‌باشد.

فورترن یک زبان برنامه‌نویسی کامپایل شونده برای محاسبات علمی و عددی است. این زبان در ابتدا برای برنامه‌های مهندسی و علمی در دهه ۱۹۵۰ توسط شرکت آی‌بی‌ام ایجاد شد و بیش از شش دهه است که در مسائل محاسباتی پیچیده همانند پیش‌بینی آب و هوا، تجزیه و تحلیل عناصر محدود، دینامیک سیالات محاسباتی، فیزیک محاسباتی، کریستالوگرافی و شیمی محاسباتی مورد استفاده قرار گرفته‌است. این زبان در محاسبات با کارایی بالا و محک و رتبه‌بندی سریعترین ابررایانه‌ها رایج است.
یکی از ویژگی‌های مهم فورترن سرعت بالا در کامپایل کردن کدهای محاسباتی است و دلیل آن بهینه بودن دستورها این زبان نسبت به زبان‌های دیگر است و با توجه به کمینه بودن تعداد کاراکترهای مورد نیاز برای ایجاد یک دستور و امکانات ترجیحی و اختیاری فراوان، کدهای نوشته‌شده با این زبان از حجم کمی برخوردار هستند و در زمان کوتاه اجرا شده و نتیجه خواهد داد. این امر به خصوص برای محاسبات عددی سنگین از اهمیت دوچندانی برخوردار است.

نامگذاری
--------

نام نسخه‌های قبلی این زبان با حروف بزرگ بیان می‌شد و FORTRAN 77 آخرین نسخه‌ای بود که در آن استفاده از حروف کوچک در کلمات اصلی غیراستاندارد بشمار می‌رفت. در نسخه‌های جدیدتر از fortran90 این استاندارد حذف شد.

تاریخچه
-------

دراواخر سال ۱۹۵۳، جان بکوس (John Backus) پیشنهادی جهت جایگزینی یک برنامه عملی‌تر برای زبان اسمبلی برنامه‌نویسی IBM 704 ارائه کرد. تیم برنامه‌نویسان گذشته فورترن شامل ریچارد گلدبرگ، شلدون بهترین، هارلان هریک، پیتر شریدان، روی نوت، رابرت نلسون، ایروینگ زیلر، هارولد استرن، لوییزهایت و دیوید سیر بود. هدف اصلی ورود آسان‌تر معادلات به رایانه بود که ایده آن توسط J. Halcombe Laning توسعه یافت.
پیشنویس مشخصات سیستم ترجمه فرمول ریاضی در نوامبر سال ۱۹۵۲ تکمیل شد و اولین کتابچه راهنمای‌آن، در اکتبر ۱۹۵۶ آماده‌شد و با اولین کامپایلر فورترن در آوریل ارائه شد. این اولین کامپایلر بهینه‌ساز بود. مشتریان زمانی تمایل به استفاده از زبان سطح بالا دارند که عملکرد کد تولید شده توسط کامپایلر مشابه عملکرد کداسمبلی دست‌نویس باشد.
درحالی‌که برنامه نویسان در عملکرد بهتر این نوع برنامه‌نویسی نسبت به کداسمبلی دست‌نویس تردید داشتند، کاهش بالای تعداد عبارات برنامه‌نویسی توجه برنامه‌نویسان را جلب کرد. جان بکوس در طی مصاحبه ای در سال، گفت: "بخش عمده‌ای از کار من از تنبلی ناشی شده‌است. من نوشتن برنامه‌ها را دوست نداشتم، بنابراین هنگامی که در IBM 701 کار می‌کردم، برنامه‌هایی برای محاسبات می‌نوشتم. پس شروع به کار بر روی یک سیستم برنامه نویسی کردم تا نوشتن برنامه‌ها آسان‌تر شود. "
دانشمندان این زبان را بسیار مناسب برای برنامه های‌فشرده عددی دانستند و نویسندگان کامپایلر را، برای نوشتن کامپایلر با سرعت و کارامدی بیشتر ترغیب کردند. گنجایش این زبان برای داده‌های عددی بسیار پیچیده، آن را برای برنامه‌های فنی به‌خصوص در مهندسی برق مناسب نموده‌است.
تا سال ۱۹۶۰ نسخه‌های فورترن برای رایانه‌های 1620 IBM ۱۰۹، IBM 650، IBM و 7090 IBM در دسترس بود. محبوبیت روزافزون این زبان، سازندگان آن را تشویق‌کرد بطوری‌که تا سال ۱۹۶۳، بیش از ۴۰ کامپایلر فورترن دردسترس بود.

توسعه فورترن به موازات سیرتکاملی کامپایلر بود و به همین دلیل بسیاری از پیشرفت‌های تئوری و طراحی کامپایلر در جهت رفع نیازهای فورترن برای ایجاد کد کارامدتر ایجادشد.

علم و مهندسی
------------

اگرچه نویسندگان بیسیک فورترن را قدیمی توصیف کرده بودند، اکنون چندین دهه است که این زبان مورد استفاده قرار گرفته‌است.

جی پاساکوف در سال ۱۹۸۴ نوشت: «دانشجویان فیزیک و نجوم باید فورترن را بیاموزند و بعید به نظر می‌رسد دانشمندان به دیگر زبان‌های پاسکال، مدولا یا هر چیز دیگری روی‌آورند.»

در سال ۱۹۹۳، سیسیل لیث، فورترن را «زبان مادری محاسبات علمی» خواند و افزود: «جایگزینی آن با هر زبان دیگر ممکن است یک امید فراموش شده باقی بماند.»

فورترن یک زبان اولیه برای برخی کارهای حجیم در ابرکامپیوترها مانند نجوم، مدل‌سازی آب و هوا، شیمی محاسباتی، اقتصاد محاسباتی، دینامیک سیالات محاسباتی، فیزیک محاسباتی، تجزیه و تحلیل داده‌ها، مدل‌سازی هیدرولوژیکی، جبرخطی عددی و کتابخانه‌های عددی (LAPACK, IMSL و NAG)، بهینه‌سازی، شبیه‌سازی ماهواره، مهندسی سازه و پیش‌بینی وضعیت هوا است.

کدهای مدرن‌تر در علوم محاسباتی از کتابخانه‌ها استفاده می‌کنند، از جمله METIS برای تقسیم‌بندی نمودار، PETSc یا Trilinos برای جبر خطی و غیره که در سی نیز استفاده می‌شد.

از اوایل سال ۲۰۰۰ بسیاری از کتابخانه‌های پشتیبان مورد استفاده قرار گرفتند و ازطرفی زبان های‌دیگر مانند متلب، پایتون و آر در برخی حوزه‌های علوم محاسباتی رایج شدند. به همین دلیل، امکاناتی برای ارتباط سی با Fortran ۲۰۰۳ فراهم شد.

ویژگی‌های زبان
--------------

### قابلیت حمل

قابلیت حمل در ابتدا با مشکلاتی همراه بود زیرا هیچ استانداردی مورد توافق قرار نمی‌گرفت. استانداردها قابلیت حمل را بهبود بخشیده‌اند.

استاندارد ۱۹۹۶ یک اصطلاح مرجع و معناشناسی را ارائه می‌داد، اما مجدد به ناسازگاری ادامه دادند. برنامه‌نویسان متوجه بودند، استفاده از ناسازگاری‌ها سبب بروز مشکلات در حمل می‌شود، پس از برنامه‌هایی مانند The PFORT Verifier استفاده می‌کردند.

بعد از استاندارد ۱۹۷۷، دفتر ملی استاندارد FIPS PUB 69 را منتشر کرد که پردازنده‌های خریداری شده توسط دولت ایالات متحده ملزم به تشخیص استاندارد بودند.

ناسازگاری و عدم رعایت استاندارد تنها مشکل قابلیت حمل نبودند. برای محاسبات عددی، در نظر گرفتن ویژگی‌های حساب مهم است. اتخاذ (در حال حاضر تقریباً جهانی) استاندارد IEEE 754 برای حساب ممیزشناور باینری، این مشکل را حل کرد.

دسترسی به محیط محاسبات برای مثال خط فرمان برنامه، متغیرهای محیط و غیره همچنان مشکل ایجاد می‌کرد که در سال ۲۰۰۳ برطرف شد.

در حال حاضر نوشتن یک برنامهٔ قابل حمل در فورترن امکان‌پذیر است.

انواع
-----

### Fortran 5

دراواخر دهه ۱۹۷۰و اوایل دهه ۱۹۸۰، برای رایانه‌های Eclipse, MV و Nova عرضه‌شد که کامپایلر بهینه‌ساز خوبی برای کامپیوترهای زمان خود بشمار می‌رفت.

### FORTRAN V

درسال ۱۹۶۸در سریال 6600 CDC عرضه شد و مبتنی بر FORTRAN IV بود.

### Fortran 6

فورترن۶ یا Visual Fortran 2001 توسط ماکروسافت مجاز شد و رابط محیط Visual Studio 5 را برای Compaq v6 ارائه‌داد.

### گونه‌های مختلف

عرضه‌کنندگان کامپیوترهای علمی عملکرد بالا (مثال:باروز، شرکت داده‌های کنترل(CDC)، (به انگلیسی Cray)، هانی‌ول، آی‌بی‌ام، تگزاس اینسترومنتس، و یونی‌وک) افزونه‌های فورترن را اضافه کردند تا از قابلیت‌های سخت‌افزاری مانند حافظه نهان دستور، خط لوله‌های (به انگلیسی  pipeline) واحد پردازش مرکزی، و آرایه‌های برداری بهره ببرند. برای مثال، یکی از کامپایلرهای فورترن شرکت آی‌بی‌ام، سطحی از بهینه‌سازی را داشت که ترتیب دستورهای را عوض می‌کرد تا واحدهای محاسباتی داخلی مختلف را همزمان مشغول نگه دارد.

یک مثال دیگر CFD است، یک گونهٔ خاص از فورترن که مخصوص ابرکامپیوتر ایلیاک ۴ (به انگلیسی ILLIAC IV) ساخته شده‌است. این کامپیوتر در مرکز تحقیقات ایمز متعلق به ناسا قرار دارد. هم چنین آزمایشگاه‌های تحقیقاتی آی‌بی‌ام، یک نسخهٔ توسعه‌یافته از یک زبان مبتنی بر فورترن به نام *وکترن* را برای پردازش بردارها و ماتریس‌ها ایجاد کردند.

فورترن شیءگرا یک افزونه شیءگرا از فورترن بود که در آن می‌توانستیم داده‌ها را در اشیاء مختلف گروه‌بندی کنیم. نمونه‌های اشیاء می‌توانستند به صورت موازی با یکدیگر ساخته شوند و توابعشان را اجرا کنند. فورترن شیءگرا برای کامپیوترهای  سان، آیریس، آی‌پی‌اس‌سی و انکیوب موجود بود، اما الان دیگر پشتیبانی نمی‌شود.

افزونه‌های این‌چنینی که مختص یک یا چند ماشینند یا در طول زمان از بین رفتند، یا عناصری از آنها در استانداردهای اصلی گنجانده شد. مهم‌ترین افزونهٔ باقی‌مانده اپن ام‌پی است که یک افزونهٔ چندپلتفرمه برای برنامه‌نویسی با حافظهٔ مشترک است. کواَرِی فورترن یک افزونه جدید است که برای پشتیبانی برنامه‌نویسی موازی در نظر گرفته شده.

### FOR TRANSIT برای ماشین آی‌بی‌ام ۶۵۰

فور ترنزیت یک نسخهٔ ساده شده از زبان فورترن ماشین آی‌بی‌ام ۷۰۴بود، که برای ماشین آی‌بی‌ام ۶۵۰ پیاده‌سازی شد. برای این کار از یک برنامهٔ مترجم ساخت دهه ۱۹۵۰ دانشگاه کارنگی استفاده شد.
توضیح زیر در راهنمای مرجع آی‌بی‌ام آمده‌است
(سیستم خودکار برنامه‌نویسی فور ترنزیت C28-4038 متعلق به آی‌بی‌ام، کپی رایت ۱۹۵۷ و ۱۹۵۹)

> 
> سیستم فورترن برای ماشینی پیچیده‌تر از ماشین آی‌بی‌ام ۶۵۰ ساخته شده بود، و بنابراین بعضی از ۳۲ دستور موجود در راهنمای برنامه‌نویسان فورترن برای سیستم فور ترنزیت مورد قبول نیستند. بعلاوه، برخی محدودیت‌ها به زبان فورترن اضافه شده‌اند. با این حال، هیچ‌کدام از این محدودیت‌ها موجب آن نمی‌شوند که یک کد منبع که برای فورترن نوشته شده‌است برای سیستم فورترن ماشین آی‌بی‌ام ۷۰۴ ناسازگار باشد.
> 
> 
> 

دستورهای مجاز این‌ها بودند:

* دستورهای مقداردهی محاسباتی، مثل `a = b`
* `GO to n`
* `GO TO (n1, n2, ... nm), i`
* `IF (a) n1, n2, n3`
* `PAUSE`
* `STOP`
* `DO n i = m1, m2`
* `CONTINUE`
* `END`
* `READ n, list`
* `PUNCH n, list`
* `DIMENSION V, V, V, ...`
* `EQUIVALENCE (a,b,c), (d,c), ...`

در هر برنامه استفاده از حداکثر ۱۰ رویه (زیرروال) ممکن بود.
دستورهای FOR TRANSIT به ستون ۷ تا ۵۶ کارت پانچ (به انگلیسی en:Punched Card) محدود می‌شدند. کارت پانچ‌ها به عنوان ورودی و خروجی آی‌بی‌ام ۶۵۰ استفاده می‌شدند. سه بار عبور لازم بود تا کد منبع به زبان "IT" ترجمه شود، و بعد دستورهای IT کامپایل شده و به زبان اسمبلی سوپ(SOAP) ترجمه شود، و نهایتاً برنامه به زبان مقصد (کد ماشین) تولید شود، بعد می‌توان آن را درون ماشین بارگذاری کرد تا برنامه را اجرا کند (برای داده ورودی از کارت پانچ استفاده می‌شود، نتیجه را هم روی کارت پانچ خروجی می‌دهد)

### زبانهای مبتنی بر فورترن

قبل از فورترن ۷۷، به‌طور معمول تعدادی پیش‌پردازنده برای میسر ساختن یک زبان مناسب تر مورد استفاده قرار می‌گرفتند، با این مزیت که کد پیش پردازش شده می‌توانست روی هر ماشینی که یک کامپایلر استاندارد فورترن داشت کامپایل شود. این پیش پردازنده‌ها معمولاً از برنامه‌نویسی ساختاریافته، اسامی با طول بیش از ۶ کاراکتر برای متغیرها، نوع داده‌های اضافه، کامپایل شرطی برنامه، و حتی قابلیت‌های ماکرو پشتیبانی می‌کردند. پیش‌پردازنده‌های متداول شامل "FLECS" (به انگلیسی). ایفترن، مورترن، SFtran, S-Fortran, رتفور و رتفیو می‌شدند. برای مثال، رتفور و رتفیو یک زبان شبیه سی پیاده‌سازی می‌کردند و کد پیش‌پردازش‌شده را به زبان فورترن ۶۶ خروجی می‌دادند. علی‌رغم پیشرفت‌ها در زبان فورترن، پیش‌پردازنده‌ها هم چنان برای کامپایل شرطی برنامه‌ها و جایگزینی ماکروها مورد استفاده قرار می‌گیرند.

یکی از افزونه‌های فورترن که برای پشتیبانی برنامه‌نویسی سیستم‌ها عرضه شد، زبان LRLTRAN در آزمایشگاه ملی لارنس برکلی و با هدف پشتیبانی از محاسبات برداری و ذخیره‌سازی پویا ایجاد شد. این توزیع، سیستم عامل LTSS را شامل می‌شد.
بسیاری از کامپایلرهای فورترن، بخش‌هایی ازپیش‌پردازندهٔ سی را در خود ادغام کرده‌اند. سیم‌اسکریپت یک پیش‌پردازندهٔ فورترن مخصوص کاربردهای خاص برای مدلسازی و شبیه‌سازی سیستم‌های گسسته (به انگلیسی en:Discrete System) بزرگ است.

زبان برنامه‌نویسی F طراحی شد تا زیرمجموعه مرتبی از فورترن ۹۵ باشد که هدفش حذف کردن قابلیت‌های زائد، بدون‌ساختار و منسوخ‌شدهٔ فورترن، مثل دستور `EQUIVALENCE` بود. اف قابلیت‌های آرایه را که در فورترن ۹۰ اضافه شده بود حفظ می‌کند و دستورهای کنترلی ای که توسط مفاهیم برنامه‌نویسی ساخت‌یافته منسوخ شده بودند را حذف می‌کند. این دستورهای هم به فورترن ۷۷ اضافه شده بودند هم به فورترن ۹۰. سازندگان زبان اف آن را "یک زبان برنامه نویسی کامپایل شده و ساختاریافته برای آرایه‌ها توصیف کردند که "خصوصاً برای آموزش و محاسبات علمی مناسب است".

لاهی و فوجیتسو تیم مشترک تشکیل دادند تا یک زبان فورترن برای چارچوب دات‌نت مایکروسافت خلق کنند.
زبان Silverfrost FTN95 هم توانایی ایجاد کد دات‌نت را دارد.

### نمونه کد

اطلاعات بیشتر در: "مثال‌های فورترن" (به انگلیسی).

برنامه زیر تخصیص حافظهٔ پویا و عملیات روی آرایه‌ها را شرح می‌دهد که دو قابلیت معرفی شده در فورترن ۹۰ هستند. به‌طور خاص نبود حلقه‌های `DO` و دستورهای `IF/THEN` برای تغییر دادن آرایه شایان ذکر است که در عوض عملیات ریاضی روی کل آرایه به عنوان یک موجودیت اعمال می‌شود. بعلاوه، نامگذاری متغیرها به گونه ای که نام متغیر، آن را توصیف کند، و قالب کلی کد که مطابق با شیوه برنامه‌نویسی امروزی است نیز آشکار است. این مثال، میانگین داده‌هایی که در تعامل با کاربر از ورودی گرفته می‌شود را محاسبه می‌کند.

```
program average

 ! تعدادی عدد را از ورودی می‌خواند و میانگینش را می‌دهد
 ! همان‌طور که نوشته شده، اگر هیچ داده‌ای موجود نباشد، صفر را به عنوان میانگین برمی‌گرداند
 ! ممکن است در آن حالت برگرداندن میانگین صفر رفتار مطلوب برنامه نباشد، اما این کار باعث سادگی برنامه می‌شود

 implicit none

 real, dimension(:), allocatable :: points
 integer :: number\_of\_points=0.0
 real :: average\_points=0. positive\_average=0. negative\_average=0.

 ! تعداد اعداد را از ورودی دریافت می‌کند و در متغیر number\_of\_points می‌ریزد
 write (\*,\*) "Input number of points to average:"
 read (\*,\*) number\_of\_points

 allocate (points(number\_of\_points))

 write (\*,\*) "Enter the points to average:"
 read (\*,\*) points

 ! با بدست آوردن مجموع اعداد و تقسیم آن بر تعدادشان، میانگینشان را به دست می‌آورد
 if (number\_of\_points > 0) average\_points = sum(points) / number\_of\_points

 ! مجموع اعداد بزرگتر از صفر را پیدا می‌کند و تقسیم بر تعدادشان می‌کند که می‌شود میانگین اعداد مثبت
 if (count(points > 0.) > 0) then
 positive\_average = sum(points, points > 0.) / count(points > 0.)
 end if

 ! مجموع اعداد کوچکتر از صفر را پیدا می‌کند و تقسیم بر تعدادشان می‌کند که می‌شود میانگین اعداد منفی
 if (count(points < 0.) > 0) then
 negative\_average = sum(points, points < 0.) / count(points < 0.)
 end if

 deallocate (points)

 ! حالا نتیجه رادر خروجی چاپ می‌کند
 write (\*,'(a,g12.4)') 'Average = ', average\_points
 write (\*,'(a,g12.4)') 'Average of positive points = ', positive\_average
 write (\*,'(a,g12.4)') 'Average of negative points = ', negative\_average

end program average

```

جستارهای وابسته
---------------

* اختراع‌ها در ایالات متحده (۱۹۴۶–۱۹۹۱)

منابع
-----

1. ↑  "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 2015-10-01. Archived from the original (PDF) on 5 February 2016. Retrieved 2016-01-14.
2. ↑  "Fortran". *Wikipedia* (به انگلیسی). 2020-01-29.
3. ↑  "Internal Translator (IT) A Compiler for the IBM 650",
by A. J. Perlis, J. W. Smith, and H. R. Van Zoeren, Computation Center,
Carnegie Institute of Technology
4. ↑  "F Programming Language Homepage". Fortran.com. Archived from the original on 9 January 2015. Retrieved 19 November 2014.
5. ↑  "Fortran for .NET Language System". Archived from the original on 18 October 2014.
6. ↑  "FTN95: Fortran 95 for Windows". Silverfrost.com. Retrieved 19 November 2014.

* پرویز جبه‌دار مارالانی، منصور نیکخواه بهرامی، برنامه‌نویسی فرترن ۷۷، نشر: صفار (۲۱ بهمن، ۱۳۸۶)، شابک: ۹۷۸-۹۶۴-۵۹۷۳-۵۱-۱

| * ن
* ب
* و
زبان‌های برنامه‌نویسی |
| --- |
| 
* گاه‌شمار

 |
| 
* زبان اسمبلی
* اسکالا
* ای‌پی‌ال
* بیسیک
* سی
* سی++
* سی شارپ
* هسکل
* کوبول
* فورترن
* جاوا
* جاوااسکریپت
* لیسپ
* پرولوگ
* پاسکال
* پرل
* پی‌اچ‌پی
* پایتون
* روبی
* ویژوال بیسیک دات‌نت
* اسمال‌تاک
* **بیشتر...**

 |
| 
* **رده:زبان‌های برنامه‌نویسی**
* **مقایسه**
* **فهرست‌ها**
	+ فهرست زبان‌های برنامه‌نویسی
	+ زبان‌ها بر پایه نوع
	+ بر پایه نسل
	+ زبان‌های غیر انگلیسی

 |

| * ن
* ب
* و
آی‌بی‌ام |
| --- |
| تاریخچه | 
* History of IBM
* Mergers and acquisitions
* Think (motto)
* Operating Systems

 |
| محصولات | 
* سل (ریزپردازنده)
* رایانه بزرگ آی‌بی‌ام
* Personal Computer
* IBM Power Systems
* Information Management
* شرکت نرم‌افزاری لوتوس
* Rational
* اس‌پی‌اس‌اس
* ILOG
* Tivoli: Service Automation Manager
* وب‌اسفیر
* alphaWorks
* Criminal Reduction Utilising Statistical History
* Mashup Center
* PureQuery
* Redbooks
* FlashSystem
* فورترن
* Connections

 |
| نهادهای کسب و کار | 
* Cloud computing
* آی‌بی‌ام گلوبال سرویسز
* jStart
* Research
* International

 |
| تسهیل‌ها | 
* Towers
	+ Montreal
	+ Atlanta
* Software Labs
	+ Rome
	+ Toronto
* IBM Buildings
	+ Chicago
	+ Johannesburg
	+ Seattle
* Research Labs
	+ Austin
	+ China
	+ Tokyo
	+ Zurich
	+ Haifa
	+ India
	+ Almaden
* Facilities
	+ Hakozaki
	+ Yamato
* IBM Scientific Center
* Hursley House
* Canada Head Office Building
* Thomas J. Watson Research Center
* IBM Rochester
* Somers Office Complex

 |
| ابتکارها | 
* Academy of Technology
* Centers for Advanced Studies: CASCON
* Deep Thunder
* IBM Fellow
* Pulse conference
* The Great Mind Challenge
* DeveloperWorks: Develothon
* Linux Technology Center
* IBM Virtual Universe Community
* Smarter Planet

 |
| اختراع‌ها | 
* خودپرداز
* Electronic keypunch
* دیسک سخت
* فلاپی‌دیسک
* حافظه دسترسی تصادفی پویا
* مدل رابطه‌ای
* Selectric Typewriter
* سوآپ (مالی)
* Universal Product Code
* کارت مغناطیسی
* SABRE airline reservation system
* میکروسکوپ تونلی روبشی

 |
| واژه‌شناسی | 
* Globally Integrated Enterprise
* Commercial Processing Workload
* Consumability
* Technology dividend
* کسب و کار الکترونیک

 |
| مدیران اجرائی | 
* توماس واتسون (۱۹۱۴–۱۹۵۶)
* توماس واتسون جونیور (۱۹۵۶–۱۹۷۱)
* T. V. Learson (۱۹۷۱–۱۹۷۳)
* F. T. Cary (۱۹۷۳–۱۹۸۱)
* J. R. Opel (۱۹۸۱–۱۹۸۵)
* J. F. Akers (۱۹۸۵–۱۹۹۳)
* L. V. Gerstner, Jr. (۱۹۹۳–۲۰۰۲)
* S. J. Palmisano (۲۰۰۲–۲۰۱۱)
* جینی رومتی (۲۰۱۲–اکنون)

 |
| هیئت مدیره | 
* Alain Belda
* William R. Brody
* کنت چناو
* Michael L. Eskew
* دیوید فار
* شرلی جکسون
* اندرو ان. لیوریس
* جیمز مک‌نرنی
* James W. Owens
* Samuel J. Palmisano
* جینی رومتی
* Joan E. Spero
* Sidney Taurel
* Lorenzo Zambrano

 |
| سایر | 
* *A Boy and His Atom*
* Common Public License/IBM Public License
* Customer engineer
* دیپ بلو
* Deep Thought
* Dynamic infrastructure
* GUIDE International
* *IBM and the Holocaust*
* IBM international chess tournament
* لوسیفر
* Mathematica
* SHARE computing
* ScicomP
* واتسون

 |