[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-Rz1JS3G3XRmEvPMLgH-dWh89AWqj63FDIzbeT7GJ8iw":3,"sanity-RnHO-gjkRU0uk3Aa1M4v_uxYTFdXLe_kOibLVpd8zrs":257},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":232},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"d53f9358-3bb2-4f69-aebe-d31d19522cd4","2026-07-10T07:40:00.000Z",{"_type":10,"current":11},"slug","building-more-than-just-an-agent-harness",null,"Building more than just an agent harness",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":61,"comments":210,"dateUrl":211,"excerpt":212,"image":213,"legacyBody":216,"product":12,"publishedAt":219,"slug":220,"sponsored":12,"tags":222,"title":231,"visible":210},"2023-05-25T09:37:04Z","wp-post-5130","dgl3SCUzppW3U2LvCoSK4S","blogPost","2023-07-13T14:55:01Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":57,"name":58,"slug":59},"2023-05-23T16:27:18Z","wp-author-136","V4QUz6N4dC6YqomOXmf3bN","blogAuthor","2023-12-14T17:23:17Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-e3d802fa12c1db67ed6dee52001ec70a85e9b755-1024x1024-jpg","reference","former","Matt Sherman",{"current":60},"matt",[62,90,99,115,123,131,139,155,163,171,179],{"_key":63,"_type":64,"children":65,"markDefs":88,"style":89},"24bc076c9dd5","block",[66,71,76,80,84],{"_key":67,"_type":68,"marks":69,"text":70},"24bc076c9dd50","span",[],"I was asked this question twice in the past week, by colleagues who work with our clients. It sounds like a dumb question, but it’s not. The short answer is that we don’t ",{"_key":72,"_type":68,"marks":73,"text":75},"24bc076c9dd51",[74],"em","need",{"_key":77,"_type":68,"marks":78,"text":79},"24bc076c9dd52",[]," so many languages, but we ",{"_key":81,"_type":68,"marks":82,"text":83},"24bc076c9dd53",[74],"want",{"_key":85,"_type":68,"marks":86,"text":87},"24bc076c9dd54",[]," them. Let’s explore this further.",[],"normal",{"_key":91,"_type":64,"children":92,"markDefs":97,"style":98},"1787d1404960",[93],{"_key":94,"_type":68,"marks":95,"text":96},"1787d14049600",[],"Aren’t they all the same?",[],"h3",{"_key":100,"_type":64,"children":101,"markDefs":114,"style":89},"626ee80583ef",[102,106,110],{"_key":103,"_type":68,"marks":104,"text":105},"626ee80583ef0",[],"In a sense, yes. You can create a web site using Ruby, Java, Python, C#, Go or JavaScript. You can use C or C++ or Haskell or Rust. Or COBOL or Pascal or Perl. Underlying this fact is that all of these languages serve the same purpose: to turn human thoughts into the 1’s and 0’s that the computer understands. In highfalutin computer terms, they are all “Turing complete”. At their most foundational level, these languages ",{"_key":107,"_type":68,"marks":108,"text":109},"626ee80583ef1",[74],"are",{"_key":111,"_type":68,"marks":112,"text":113},"626ee80583ef2",[]," all the same. But on the surface – where humans interact with them – they vary a lot. This is where other concerns come into play.",[],{"_key":116,"_type":64,"children":117,"markDefs":122,"style":98},"29e09f644eb9",[118],{"_key":119,"_type":68,"marks":120,"text":121},"29e09f644eb90",[],"Different tools for different jobs",[],{"_key":124,"_type":64,"children":125,"markDefs":130,"style":89},"4414bbea645a",[126],{"_key":127,"_type":68,"marks":128,"text":129},"4414bbea645a0",[],"Programming languages are tools, and we choose different tools for different jobs. A tractor trailer and a bicycle and a Tesla are all vehicles – they have wheels and steering and will get you from point A to point B – but obviously we use them for different things. Programming languages are similar. Ruby and JavaScript are great for building web sites; Java and C++ are often used for financial trading; Python and R are the tools of choice for analyzing statistics. Languages often make trade-offs in terms of convenience, safety, and speed – much like vehicles. The trade-off is dictated by the job at hand.",[],{"_key":132,"_type":64,"children":133,"markDefs":138,"style":98},"24fb174211b3",[134],{"_key":135,"_type":68,"marks":136,"text":137},"24fb174211b30",[],"Developers have tastes",[],{"_key":140,"_type":64,"children":141,"markDefs":154,"style":89},"3c3f3807166e",[142,146,150],{"_key":143,"_type":68,"marks":144,"text":145},"3c3f3807166e0",[],"Beyond mere utility, developers choose tools based on personal tastes. A programming language is a tool for humans to ",{"_key":147,"_type":68,"marks":148,"text":149},"3c3f3807166e1",[74],"express ideas",{"_key":151,"_type":68,"marks":152,"text":153},"3c3f3807166e2",[]," to computers. While we developers have many things in common, there is natural variety in the way our minds work. Because we have many choices of good programming languages, we can select one that “works the way I think”. Some developers like Ruby’s flexibility, while others prefer Java’s strictness. Where some languages feel like math, others look like prose.",[],{"_key":156,"_type":64,"children":157,"markDefs":162,"style":98},"c20b5bc3509f",[158],{"_key":159,"_type":68,"marks":160,"text":161},"c20b5bc3509f0",[],"People first",[],{"_key":164,"_type":64,"children":165,"markDefs":170,"style":89},"f8cc4605a163",[166],{"_key":167,"_type":68,"marks":168,"text":169},"f8cc4605a1630",[],"Beyond utility, and beyond taste, businesses run on people. Often, you will choose a programming language based on what you, or the people around you, know. Stack Overflow chose C# mostly because that’s what our founders knew. In turn, it’s what the founders’ friends and colleagues knew. Which made recruiting easier, and allowed Stack to get to market more quickly. (Luckily, C# also happens to have excellent technical characteristics.) Technologies are supported by “ecosystems” – communities and organizations that provide the tools and assistance that every developer needs. A good ecosystem – Ruby has a great one, for example – can make the individual developer more successful.",[],{"_key":172,"_type":64,"children":173,"markDefs":178,"style":98},"a822bb94270e",[174],{"_key":175,"_type":68,"marks":176,"text":177},"a822bb94270e0",[],"Variety is strength",[],{"_key":180,"_type":64,"children":181,"markDefs":204,"style":89},"f5b5d3ff776c",[182,186,191,195,200],{"_key":183,"_type":68,"marks":184,"text":185},"f5b5d3ff776c0",[],"In summary, we have a variety of programming languages because there is a variety of jobs to be done and a variety of people who do those jobs. This diversity makes interesting programs – and interesting companies, and interesting careers – possible. You can discover the career possibilities for developing in ",{"_key":187,"_type":68,"marks":188,"text":190},"f5b5d3ff776c1",[189],"f653143a0284","C#",{"_key":192,"_type":68,"marks":193,"text":194},"f5b5d3ff776c2",[],", ",{"_key":196,"_type":68,"marks":197,"text":199},"f5b5d3ff776c3",[198],"5d1e19074018","Ruby",{"_key":201,"_type":68,"marks":202,"text":203},"f5b5d3ff776c4",[]," or whichever language suits your taste on Stack Overflow Jobs.",[205,208],{"_key":189,"_type":206,"href":207,"reference":12},"link","https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-c%23?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link",{"_key":198,"_type":206,"href":209,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-ruby?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link",true,"2015\u002F07\u002F29","",{"_type":53,"asset":214},{"_ref":215,"_type":56},"image-79d6a013086bcebd5c7b91ccf1cf5114f6f5e513-6720x4480-jpg",{"code":217,"language":218},"I was asked this question twice in the past week, by colleagues who work with our clients. It sounds like a dumb question, but it’s not.\n\nThe short answer is that we don’t \u003Cem>need\u003C\u002Fem> so many languages, but we \u003Cem>want\u003C\u002Fem> them. Let’s explore this further.\n\n\u003Ch3>Aren’t they all the same?\u003C\u002Fh3>\n\nIn a sense, yes. You can create a web site using Ruby, Java, Python, C#, Go or JavaScript. You can use C or C++ or Haskell or Rust. Or COBOL or Pascal or Perl.\n\nUnderlying this fact is that all of these languages serve the same purpose: to turn human thoughts into the 1’s and 0’s that the computer understands. In highfalutin computer terms, they are all “Turing complete”.\n\nAt their most foundational level, these languages \u003Cem>are\u003C\u002Fem> all the same. But on the surface – where humans interact with them – they vary a lot. This is where other concerns come into play.\n\n\u003Ch3>Different tools for different jobs\u003C\u002Fh3>\n\nProgramming languages are tools, and we choose different tools for different jobs. A tractor trailer and a bicycle and a Tesla are all vehicles – they have wheels and steering and will get you from point A to point B – but obviously we use them for different things.\n\nProgramming languages are similar. Ruby and JavaScript are great for building web sites; Java and C++ are often used for financial trading; Python and R are the tools of choice for analyzing statistics.\n\nLanguages often make trade-offs in terms of convenience, safety, and speed – much like vehicles. The trade-off is dictated by the job at hand.\n\n\u003Ch3>Developers have tastes\u003C\u002Fh3>\n\nBeyond mere utility, developers choose tools based on personal tastes.\n\nA programming language is a tool for humans to \u003Cem>express ideas\u003C\u002Fem> to computers. While we developers have many things in common, there is natural variety in the way our minds work.\n\nBecause we have many choices of good programming languages, we can select one that “works the way I think”. Some developers like Ruby’s flexibility, while others prefer Java’s strictness. Where some languages feel like math, others look like prose.\n\n\u003Ch3>People first\u003C\u002Fh3>\n\nBeyond utility, and beyond taste, businesses run on people. Often, you will choose a programming language based on what you, or the people around you, know.\n\nStack Overflow chose C# mostly because that’s what our founders knew. In turn, it’s what the founders’ friends and colleagues knew. Which made recruiting easier, and allowed Stack to get to market more quickly.\n\n(Luckily, C# also happens to have excellent technical characteristics.)\n\nTechnologies are supported by “ecosystems” – communities and organizations that provide the tools and assistance that every developer needs. A good ecosystem – Ruby has a great one, for example – can make the individual developer more successful.\n\n\u003Ch3>Variety is strength\u003C\u002Fh3>\n\nIn summary, we have a variety of programming languages because there is a variety of jobs to be done and a variety of people who do those jobs. This diversity makes interesting programs – and interesting companies, and interesting careers – possible.\n\nYou can discover the career possibilities for developing in \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-c%23?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">C#\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-ruby?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">Ruby\u003C\u002Fa> or whichever language suits your taste on Stack Overflow Jobs.","html","2015-07-29T12:00:00.000Z",{"current":221},"why-are-there-so-many-programming-languages",[223],{"_createdAt":224,"_id":225,"_rev":226,"_type":227,"_updatedAt":224,"slug":228,"title":230},"2023-05-23T16:43:21Z","wp-tagcat-engineering","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":229},"engineering","Engineering","“Why Are There So Many Programming Languages?”",[233,239,245,251],{"_id":234,"publishedAt":235,"slug":236,"sponsored":12,"title":238},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":237},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":240,"publishedAt":241,"slug":242,"sponsored":12,"title":244},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":243},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":246,"publishedAt":247,"slug":248,"sponsored":12,"title":250},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":249},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":252,"publishedAt":253,"slug":254,"sponsored":12,"title":256},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":255},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":258,"sourceMap":-1},{"count":259,"lastTimestamp":260},15,"2023-05-25T09:45:54Z"]