Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Anders Hejlsberg (Anders Hejlsberg) is a living legend: he created Turbo Pascal, Delphi, C# and TypeScript (and today TypeScript is the most-used programming language, globally, as per GitHub.) Timestamps: 00:00 Intro 02:48 How Anders got into programming 05:40 Building his first compiler 07:44 Turbo Pascal 12:25 Delphi 14:53 Joining...

129,757 görüntüleme • 5 ay önce •via X (Twitter)

16 Yorum

Gergely Orosz profil fotoğrafı
Gergely Orosz5 ay önce

Watch / listen on other platforms: • YouTube: • Spotify: • Apple: • Summary and transcript:

Matias Baldanza profil fotoğrafı
Matias Baldanza5 ay önce

@ahejlsberg What a legend!

Chawan Prash profil fotoğrafı
Chawan Prash5 ay önce

@ahejlsberg We give too much credit to this guy. C# wasn't that special in the beginning and neither is Typescript. Typescript just adds types to JavaScript to make it more manageable. Its a deficiency in JS. TS is just regular dialect of a typed language.

Dave Remy profil fotoğrafı
Dave Remy5 ay önce

I had the privilege to work with @ahejlsberg on the LINQ and Rosalyn projects at MS. Anders is not only technically and practically brilliant, he is also a high quality human being across the board. I doubt most people understand the depth of his impact on the industry once he turned his sites on Java/TypeScript.

wangsg profil fotoğrafı
wangsg5 ay önce

@ahejlsberg he made a choice not to have checked exception in c# and typescript :)

Franz Hemmer profil fotoğrafı
Franz Hemmer5 ay önce

@ahejlsberg Anders du er en dansk helt! ❤️

T. P. Chaw profil fotoğrafı
T. P. Chaw5 ay önce

@ahejlsberg Thanks a lot @ahejlsberg ! Though not programming (with my hands :-) anymore, I went through many langs incl. Object Pascal, C#, TypeScript and always felt the "core", even the syntax was different. Spent many nights in my 16's creating a turbo vision-like frmwkr :-) Many thanks

Shakker profil fotoğrafı
Shakker5 ay önce

@ahejlsberg Thank you for this episode!

payskin profil fotoğrafı
payskin5 ay önce

@ahejlsberg I was working at the Hungarian Statistical Office in the early 90s on huge data-processing stuffs. My boss was a C-guy, wanted us to write everything in C, thought it was faster. I was really good at Pascal. We wrote the same utility, his C code vs my TP code. I won. Loved TP. 😊

irfan - ئىرفان profil fotoğrafı
irfan - ئىرفان5 ay önce

@ahejlsberg Best podcast with real dev and engineering informations

kmiterror profil fotoğrafı
kmiterror5 ay önce

Thanks @ahejlsberg TurboPascal was my first language Great memories. I went assembler as I found out that "graphics" was super slow in TurboPascal. After 2-3 years of work gone by HDD failure I went back to TurboPascal because I realised it's much quicker to re-write it that way with some ASM inserts here and there. Performance was also there once I started to address memory in bulk instead of using setPixel in a loop. Thanks again.

Friedhold Matz profil fotoğrafı
Friedhold Matz5 ay önce

Anders Heilsberg and his team have made Typescript "nativ" with Go to finally solve the performance problems with large projects - and they did it with relatively little breakage compared to the old version. The whole thing is genuinely impressive and will significantly shape the future of Typescript development in the coming years.

Dirkovian profil fotoğrafı
Dirkovian5 ay önce

@ahejlsberg AI-assisted programming makes TS preferred and JS irrelevant.

Austen profil fotoğrafı
Austen5 ay önce

@ahejlsberg very excited to listen to this

Werner Kasselman profil fotoğrafı
Werner Kasselman5 ay önce

@ahejlsberg LOVED Turbo Pascal!!! wow, so many memories

Armin Catovic profil fotoğrafı
Armin Catovic5 ay önce

@ahejlsberg Turbo Pascal was my first programming language, when I first started coding little crappy DOS games in the 90s as a middle-schooler.

Benzer Videolar

Why did so many languages copy async/await from C#? Anders Hejlsberg(Anders Hejlsberg) - creator of TypeScript, C# & Turbo Pascal - on what they got right with the design: #1 - async/await was designed to solve a common problem in the event-loop model: "A lot of languages are built around cooperative multitasking in the sense that they have an event loop that sits and dispatches events. Then you handle the event and then you yield back to the event handler loop. And it all runs in a single thread cooperatively. The problem with that is if you then want to do some long running work: how do I stop in the middle of this piece of long running work and yield back to the event loop cooperatively? And then when my result is ready, I can come back and continue executing here." #2 - state machines are the solution, but hard to build: "Well, in order to do that in an inverted architecture like that, you have to build a state machine. State machines are notoriously hard for people to implement because you've got to move all of your state off of the stack into objects. And then you have this big case statement that envelopes your entire logic. It's a nightmare to figure out. But, the transformation from serially executing code into a state machine, its continuation-passing-style translation is actually one that you can do in a machine-based fashion." #3 - compilers are good at writing state machines: "You can have the compiler write the state machine if you introduce syntax that allows you to indicate where you want to yield. And that's what await is. Await is basically saying, I want to yield here, and I want to yield this promise, and then when the promise completes, I want you to come back here and continue executing. Then the compiler writes a state machine around it and it actually turns it into this big switch statement and moves all of the state that survives across the await into something that's heap allocated. So it can be brought back. And doing all of that work is something that compilers are great at. And so that was sort of the idea that we have this new style of programming where we're using promises or the equivalent of promises and the ability to yield and then we have callbacks. But trying to write your program in that style, that's also what JavaScript suffered from a lot. It's like all this callback style stuff. With Async and Await, you get the illusion that you're just writing normal sequential code and then the compiler does the painful transformation for you. That turns out to be really useful."

The Pragmatic Engineer

13,258 görüntüleme • 4 ay önce

AI is changing the software engineering craft. Anders Hejlsberg (Anders Hejlsberg) - creator of C#, TypeScript and industry legend - on why code review needs to get more enjoyable in response: #1 - AI is shifting the craft from writing code, to reviewing code: "In a sense, we're all turning into project managers. We can have an army of junior programmers, called agents, that will just spit out reams of code but someone's got to have the big picture and review all of that. And so, increasingly, our craft is going from one of writing the code, to one of reviewing the code and building the architecture of the code and overseeing the work. It's a different kind of craft. It's a different kind of enjoyment. I've always liked writing the code. To me that was the fulfilling part, seeing it work. In a way, AI robs a little bit of that, because I am less interested in reviewing code." #2 - The code review experience should be improved: "I think we could also make the process of reviewing code much more interesting than it is today. I mean, today, you see a list of diffs in alphabetical order and now it's up to you to make heads or tails of it. There are more pedagogical ways of presenting that. And you could have commentary generated by the AI that tells you what the changes are and whatever, and then tries to guide you along. So that symbiotic relationship, I think we need to work on that more and to keep the enjoyment in there."

The Pragmatic Engineer

39,073 görüntüleme • 4 ay önce

Few people care more about software performance than Casey Muratori. Give him a few minutes of your attention with this episode, and he'll convince you to learn to read Assembly (no, really, I finally started to read it, it's really not that scary, esp with an AI that can help explain the sequences). Timestamps: 00:00 Intro 05:17 Games at Microsoft 12:52 Building games 16:00 Why performance matters 27:12 Why you should learn to read assembly 30:36 Designing for optimization 42:51 How to get better at writing performant software 49:04 Understanding how the CPU works 55:53 Building games then and now 1:05:56 How game engines changed building games 1:10:48 Why new games compete with old games 1:13:25 GTA 6: why is it taking so long? 1:16:59 Casey's critique of clean code 1:21:48 Casey's take on TDD 1:24:30 What is good code? 1:27:32 What makes a good software engineer? 1:33:56 Why Casey doesn't code with AI 1:39:01 AI's impact on the game industry 1:44:43 AI and burnout 1:50:21 Why you should read papers Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages • Sentry – application monitoring software considered “not bad” by millions of developers • turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable Three interesting things we talked about: 1. Is performance starting to matter to businesses? Enterprise software buyers care mainly about cost, compliance, and capabilities – but not performance. Even so, there are some products gaining major popularity and market share due to their performance, such as File Pilot (next-gen file explorer) and the Blick video editor. Is the tide turning? 2. Profiler-driven performance optimization is the wrong way to optimize The standard way of optimizing is to profile the application, tweak hotspots, then check if the stats have improved. But this only finds a local minimum; Casey says every engineer he’s worked with who was a great “optimizer” began by establishing what the hardware could theoretically do, and then did not stop until they’d closed the gap to that performance level. 3. Take a grain of salt with conventional wisdom that premature optimization is the “root of all evil” Many devs use it as an excuse to delay performance optimization, but Casey says that not optimizing in time could mean that only performance hotspots can be fixed later, and not the architectural issues that create poor performance. Architect your system to be performant, or you’ll have trouble solving problems without a rewrite!

Gergely Orosz

98,888 görüntüleme • 1 ay önce

Why is Rust different than many/most programming languages? Alice Ryhl works on Google's Android Rust team, is a Rust language team advisor, and is a core maintainer of Tokio (the most widely-used async runtime in Rust) Timestamps: 00:00 Intro 04:09 Tokio: an overview 05:11 What Alice likes about Rust 12:48 Rust for TypeScript engineers 13:51 Moving from C++ to Rust 14:34 Memory safety 18:12 Garbage collection tradeoffs 21:46 Ownership, references, and borrowing 26:59 Unsafe in Rust 31:21 Crates and Cargo 35:55 Language design and RFCs 43:02 Building new features 46:30 Editions vs. versions 49:47 Getting paid to work on Rust 51:27 Contributing to Rust 53:03 Rust in the Linux kernel 55:45 AI use cases for Rust 1:01:35 Learning Rust 1:03:54 Book recommendation Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages. • Sentry – application monitoring software considered “not bad” by millions of developers Three things worth knowing about Rust: 1. Rust was designed to turn implicit failures into compile errors. Where other languages allow you to forget something, Rust makes an omission into a compilation error for things like null checks, uninitialized variables, or error propagation with the ‘?’ character. If you mess something up, it’s almost certain your program will not compile. If it does, at the very least you should see a lint warning. 2. Refactoring in Rust is safe and easy, thanks to the compiler. Alice: “I change a return type or struct field, then just fix the compiler errors until the compiler stops shouting. And then once I’ve done that, I’ve updated every place I need to update.” Rust’s focus on correctness makes refactoring it more straightforward than dynamically-typed languages and Java-style typed ones are to refactor. 3. “Editions” allow Rust to make breaking changes without ‘breaking’ anyone’s code. Rust editions (2015, 2018, 2021, 2024) can be mixed freely across crates. A library on the 2021 edition works seamlessly with a binary on the 2024 edition. This is how Rust evolves syntax (like adding async/await as keywords) without forcing an ecosystem-wide migration. Thanks a lot, Alice for this great discussion! And for your work on Rust.

Gergely Orosz

52,395 görüntüleme • 4 ay önce

There’s a popular theory that AI will finally make formal verification mainstream because mathematical proof of correctness will be needed when machines write most or all of the code. But will this happen? Hillel Wayne is one of the best people to answer. Timestamps: 00:00 Intro 04:32 The Crossover Project 11:37 What software engineering does better 15:30 What traditional engineering does better 18:17 Formal methods 29:32 TLA+: what it is and demo 36:58 TLA+ at Amazon 38:10 Ways distributed systems break 41:03 Formal methods and systems thinking 46:20 The value of learning math 50:23 What TLA+ is good for and isn’t 52:50 Alloy: a declarative language for software modeling 58:53 Other formal methods tools 1:01:24 Property-based testing 1:05:31 AI and the need for formal verification 1:12:29 Logic for programmers 1:14:35 Hillel’s 2025 prediction on AI’s impact 1:21:30 Book recommendation Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages. • turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable. • WorkOS – everything you need to make your app enterprise ready. Two things I found especially interesting, talking with Hillel: 1. Amazon used TLA+ to find a bug almost impossible to locate without formal methods. In the paper How AWS uses formal methods, the AWS team shared that they’d found a complicated bug for which the shortest error trace to exhibit was 35 steps (!!). The bug passed unnoticed through extensive design review, code reviews, and testing. AWS concluded they wouldn’t have uncovered it if they’d stuck to conventional testing approaches. 2. Why not use formal verification for everything, then? It’s because specs in the real world are a nightmare to write. Even a simple problem like “find the file in a directory that has the most lines” gets complicated when modeled with formal methods. We would have to answer questions like: ‘do we look at ASCII or UTF-8 new line characters, what about unreadable files, and Symlinks?’ Without formal methods, we can write a simple verification that is right in 99%+ of cases. Formal methods require a lot of extra effort for the less than 1% of exotic use cases!

Gergely Orosz

34,926 görüntüleme • 2 ay önce

There are few people who have impacted the software engineering industry like Kent Beck 🌻 has. He'd never before told his career story from start to today in one sitting - until now. What a treat. Timestamps: 00:00 Intro 03:47 Human engineers aren’t going away 08:00 Kent's path into tech 13:50 Undergraduate and graduate studies 17:21 Kent’s first programming job 18:54 The rise and fall of Smalltalk 27:04 Working with Ward Cunningham 37:36 Design patterns 44:05 Working at Apple 51:08 CRC Cards 59:29 Testing tools in the language 1:04:22 The C3 project with Martin Fowler 1:09:54 Extreme Programming 1:16:25 Developing TDD 1:25:07 Writing the Agile Manifesto 1:30:00 Agile’s impact 1:32:40 Agile’s downside 1:37:32 The Dotcom Bust 1:44:30 Lessons from working at Facebook 1:59:44 Kent’s ‘Good to Great’ program at Facebook 2:06:07 Soft skills engineers need to learn 2:09:30 AI and the challenges of acceleration 2:15:53 Explore, expand, extract 2:22:33 What Kent is excited about Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages • turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable • WorkOS – everything you need to make your app enterprise ready Kent shared so many previously untold stories - like how he was fired from Apple (!!), how he and Ward Cunningham used a thesaurus to find the right words, how the Agile Manifesto came together. My favorite reflection from is this though: The human part is the most important one in software engineering. As Kent explained: “This is the biggest cosmic, practical joke ever. As young people, we were promised: “Okay, here’s this computer and once you’ve completely understand this computer, you’ll be fine. That’s all you need to do.” So I set out the first part of my career just to become the best programmer that I could be because that’s what it would take to be successful. And then you realize: sorry, there’s this whole human side. Your ability to affect change in the world is gated by your ability to communicate with, to soothe, to understand other human beings. And those are exactly the skills that I thought I didn’t need to learn! So I was promised: just understand the computer and you’ll be successful. And then someone went “just kidding, understand people!” And now I was in a position of being ten years behind.”

Gergely Orosz

26,602 görüntüleme • 3 ay önce

James Currier on how he grew a photo sharing site to 47 million users in 6 months “Most product people start by saying, ‘There’s a problem and we’re going to build a product that’s going to solve that problem. Then we’re going to market it,” NFX founder James Currier observes. Of the 45 companies James has spoken to in the last 18 months, at least 40 of them have said some version of this. “I was also taught this back in the 1990s,” James says. “But through experimentation, I’ve realized that this is actually the wrong way to look at it. The right way to look at it — if you want to grow your business — is to ask, ‘What is the language? How am I going to market this?’ . . . Figure out what the language is and then build the product to fit what the language is.” James gives the example of a photo sharing site he launched years ago: “It said ‘Store your Photos’ on the homepage, and we were not growing. So one day, we literally just changed the homepage to say ‘Share your Photos.’ The team that was working on it said, ‘Our site doesn’t actually share photos. It just stores the photos.’ I said, ‘Well, fix that.’ What ended up happening was they started building features that allowed people to share their photos, and we registered 47 million people in 6 months. And that was back when the Internet was 250 million people.” He continues: “What we realized was that by changing the language, you change how the users are interacting with your site. And you also change your thinking about the product so that the features and subsequent language in the product actually fits with the main value proposition.” James gives another example: “We had a matchmaking site, and the promise there was ‘Find a date.’ It wasn’t growing and we had to buy all this traffic from Google and elsewhere to keep the whole thing going. So what we did was we changed the language and the value proposition to say, ‘Help people find a date.’ When we did that, we registered 28 million people in about 9 months, virally with no cost to us. We changed the language, and then we changed the product subsequently.” Video source: Greylock Partners (2016)

Startup Archive

18,388 görüntüleme • 10 ay önce

I asked Dan Martell to walk me through every level of making money with AI. He gave me the most simple, practical advice I've ever heard on this subject. Level 1 - Making $0 - $100k Level 2 - Making $1m - $10m Level 3 - Building a $10m++ enterprise. 0:00 Only 5% of the World Has Ever Paid for AI 0:46 The Easiest Thing to Sell With AI Right Now 1:56 The Marcus and Sophie Framework 4:24 Theory of Constraints (Right Problem to Solve) 5:33 What Is the Number One Business Constraint 7:13 How to Leave Your Job and Go All In 8:27 Business Is Simple Find a Problem and Solve It 9:08 Stop Getting Ready to Get Ready 9:33 The Sarah Story One Text and $10K 9:53 Pull Up Your Phone and Message Your Contacts 11:05 Dan's Son Gets His First Client at $800/Month 12:41 Best Employee vs. Best Employer 13:59 What Other Services Can You Sell With AI 14:44 Sales Is Not Talking It's Asking 17:01 What to Do When You Hate Your Business 18:40 Pain and Pleasure Are the Only Two Motivators 19:13 They Haven't Made It a Must Yet 20:29 Make It a Must Not a Nice to Have 21:06 The Jen Story and the Gasping Moment 22:17 How to Find Your First 10 to 15 Clients 28:38 The Personal Brand Play 33:06 Vision Is What AI Cannot Do 34:55 Hard for Computers Easy for Humans 36:13 Level 2 Making Your First Million With AI 37:18 The Replacement Ladder Framework 37:39 Admin First Then Delivery Then Marketing 39:09 Why Marketing Is the Biggest AI Category 39:32 Why You Should Keep Sales for Yourself 40:00 Level 5 Leadership and AI Agents 41:41 What a Fully AI Systems Business Looks Like 43:13 The Gym Owner With Three Locations 46:16 Shutting Down the Company for Two Days 46:37 Teaching the Whole Team to Code in Claude 49:28 Wayne the 62 Year Old Who Made $12K a Month 52:38 I Only Share What Actually Works 53:21 Whisper Flow and Talking to Your AI 56:41 Claude Chat Claude Coworker and Claude Code 57:57 The Claude Browser Extension 58:49 Claude Code Is Not Just for Developers 1:00:06 How to Migrate Your AI Memory Across Tools 1:01:08 Level 3 $1M to $10M and the Brand Play 1:02:05 Nobody Buys AI They Buy Trust 1:03:25 Brand Is Association and Association Is Trust 1:05:12 A Million Followers Is $10M in Activated Revenue 1:07:03 How to Keep AI From Becoming Slop 1:07:42 Human in the Loop 1:08:16 The 10 80 10 Rule and Why AI Is Now the 80 1:10:01 The Team FIRED Themselves 1:11:45 Dan's Free AI Curriculum for Your Team

Grant

180,534 görüntüleme • 3 ay önce