DEV

Eric Lamanna

Software and AI development podcast. We cover all things software development, including today's advanced AI development tricks and techniques.

  1. 16 小時前

    React vs. Vue vs. Angular: Choosing the Right JavaScript Framework

    Picking a JavaScript framework isn't just a technical decision — it shapes how you hire, onboard engineers, structure your codebase, and maintain software years down the line. This episode of Development tackles one of the most debated questions in front-end development head-on, drawing on the React vs. Vue vs. Angular framework comparison from DEV to cut through social media noise and deliver a grounded, practical breakdown for developers and teams facing a real choice. Here's what the episode covers: React's strengths and trade-offs: Its massive ecosystem and job-market dominance are undeniable assets, but the freedom it grants teams also demands strong decision-making — and its rapid pace of paradigm shifts (class components → hooks → server components) isn't for everyone.Why Vue earns its "progressive framework" label: Built to scale both down to a single static page and up to a full SPA, Vue's single-file components, clean reactivity system, and cohesive official tooling make it a compelling middle ground between React's openness and Angular's rigidity.Angular as the enterprise-grade option: TypeScript, dependency injection, a CLI, routing, and testing all ship out of the box — a setup that suits large distributed teams and long-horizon projects, even if the learning curve and boilerplate are steep.The questions that actually drive the decision: Talent availability in your region, the expected lifespan and scale of the project, and your team's culture often matter more than any benchmark or feature comparison.The limits of "picking a winner": No single framework is objectively best — honest answers about team, timeline, and product goals are a more reliable compass than trending opinions.Staying adaptable for the long game: Whichever framework you land on, the JavaScript ecosystem will keep shifting; a commitment to continuous learning outweighs any logo in a package.json.For more on where JavaScript fits into the bigger picture, check out the earlier episode Why JavaScript Still Wins: Top Use Cases for Startups and Enterprises — a great companion listen to this one. DEV

    7 分鐘
  2. 1 天前

    Why JavaScript Still Wins: Top Use Cases for Startups and Enterprises

    JavaScript has spent thirty years defying expectations — born as a browser novelty, it now underpins cloud infrastructure, mobile apps, and real-time platforms at organizations of every size. This episode of Development uses this breakdown of top JavaScript use cases for startups and enterprises as its jumping-off point, making the case that JavaScript's dominance is less about trend-chasing and more about cold, practical engineering logic. Whether you're a founder placing your very first technology bet or an enterprise architect managing a sprawling legacy codebase, the episode walks through the full landscape of where and why JavaScript continues to win. Here's what's covered: Front-end development: How React, Vue, Angular, and newer compile-time frameworks like Svelte give startups access to massive UI ecosystems and give enterprises the TypeScript-backed structure needed to sustain complex interfaces at scale.Server-side development with Node.js: Why Node's event-driven, non-blocking architecture is a natural fit for REST APIs, GraphQL, microservices, and serverless functions — and how full-stack JavaScript reduces costly engineering silos.Cross-platform mobile: How React Native, Ionic, and Expo allow teams to share logic across iOS, Android, and the web — including over-the-air updates that sidestep slow app store approval cycles.Real-time and event-driven experiences: The tools (WebSockets, Socket.IO, RxJS) enabling collaborative documents, live dashboards, and instant messaging — and why lower latency translates directly to better user retention.Automation, testing, and DevOps: How Node.js lets teams write CI pipelines, end-to-end test suites with Playwright or Cypress, and even cloud infrastructure with AWS CDK or Pulumi — all in the same language they already know.Talent and longevity: Why covering the full stack with one language matters differently at each stage — generalist flexibility for startups, sustainable hiring pipelines and coherent onboarding for enterprises.The throughline across all five use cases is pragmatism over hype: JavaScript has earned its place at every layer of the stack by solving real problems for real teams. More from the show: if this episode's theme of enduring languages resonates, check out Why C++ Is Still a Top Choice for High-Performance Software in 2025 for a look at another language that refuses to be counted out. DEV

    8 分鐘
  3. 2 天前

    Why C++ Is Still a Top Choice for High-Performance Software in 2025

    Despite a constant parade of newer languages grabbing headlines, C++ continues to underpin some of the most performance-critical software on the planet — from high-frequency trading systems to AI inference engines to AAA game engines. This episode of Development cuts through the hype to examine the concrete, technical reasons why C++ isn't just surviving in 2025, but thriving. The discussion draws on the best practices for building scalable C++ applications outlined in the source article, applying those principles to the real architectural decisions engineers and CTOs face today. Here's what the episode covers: Raw, unmatched performance: C++ compiles directly to native machine code with no garbage collector or runtime overhead — and modern compilers like Clang 17 and MSVC 2025 push that advantage even further through auto-vectorization and aggressive inlining.Explicit memory control: The ability to design cache-friendly data layouts, write custom allocators, and place objects precisely in memory remains irreplaceable in domains where microseconds translate to real-world consequences.A dramatically safer modern toolchain: AddressSanitizer, ThreadSanitizer, static analyzers tied to the C++ Core Guidelines, and CI-integrated linting have transformed how safely teams can ship C++ — without surrendering low-level control.A living, evolving language standard: The three-year ISO release cadence has delivered smart pointers, move semantics, concepts, ranges, and coroutines — features that make contemporary C++ look far closer to Rust or Swift than to anything written in the nineties.Unrivaled portability and ecosystem maturity: C++ targets x86-64, Arm64, and RISC-V with minimal friction. Package managers like vcpkg and Conan 3 now offer dependency management competitive with npm or Cargo, while tools like pybind11 enable clean interoperability in polyglot architectures.Where it dominates in 2025: High-frequency finance, gaming and XR, autonomous robotics, AI compute backends (TensorRT, ONNX Runtime), and edge/telecom infrastructure all rely on C++ precisely because the fundamental physics of compute haven't changed — even if blog headlines suggest otherwise.The episode also addresses C++'s genuine trade-offs — long compile times, cryptic template errors, and foot-gun potential — and walks through the well-established mitigations that modern engineering teams use to manage them. The conclusion is clear: for workloads where speed, determinism, and broad hardware reach are non-negotiable, the more useful question in 2025 isn't "why C++?" but "do our requirements justify anything else?" For more on building intelligent tooling into your development workflow, check out the episode Build Smarter: Custom AI Workflows with N8N. DEV

    8 分鐘
  4. 3 天前

    Build Smarter: Custom AI Workflows with N8N

    Repetitive AI tasks — pulling data, prompting a model, cleaning the output, posting it somewhere — eat developer time without delivering proportional value. This episode of Development explores how n8n, an open-source visual workflow engine, changes that equation by letting teams prototype and ship AI automations without spinning up infrastructure from scratch every time. The discussion is grounded in this practical guide to custom AI workflow development using N8N.io, which rewards a careful read rather than a quick skim. The episode walks through what makes n8n a natural fit for AI-driven development and what it actually looks like to build something real with it. Key topics include: Why n8n fills a genuine gap: AI calls rarely live in isolation — they require input shaping, output validation, branching logic, and failure handling. N8n captures all of that in one shareable, version-controlled file.When to use n8n vs. a microservice: For stable, high-traffic integrations, a proper service with tests and a deployment pipeline makes sense. For the exploratory phase, n8n removes friction exactly when speed matters most.A concrete end-to-end example: The episode traces a workflow that polls an RSS feed, constructs a prompt, calls a language model via HTTP, cleans the output with deterministic code (not just prompt iteration), publishes to Twitter, routes failures to a Slack alert, and logs everything to a database — all in roughly ten minutes of configuration.Security and compliance: Using n8n's credentials store for API keys, scrubbing PII before payloads leave your infrastructure, and pointing the HTTP Request node at a self-hosted model when external LLMs aren't an option.Cost controls: Setting maximum iteration counters on loops, caching embeddings to avoid redundant generation, and routing tasks to cheaper models for drafts and more capable models only where genuinely needed.Production best practices: Committing workflow JSON to version control, using node Description fields to document reasoning, keeping prior versions inactive but recoverable, and enabling user management on shared instances.The throughline is straightforward: AI may feel like magic, but the engineering around it follows familiar patterns. N8n provides a canvas for applying those patterns — logging, retries, failure branching, security scrubbing — without rebuilding the scaffolding every time. The advice for teams new to the tool: start with one low-stakes automation that saves five minutes a day, build confidence in the approach, and grow from there. More from the show: if you're thinking about the broader backend ecosystem around AI, check out the episode Why Enterprises Keep Betting on Python for Backend Development. DEV

    8 分鐘
  5. 4 天前

    Why Enterprises Keep Betting on Python for Backend Development

    Python isn't just surviving the era of Rust evangelism, Go's cloud-infrastructure push, and a never-ending parade of JavaScript frameworks — it's thriving inside the world's most demanding enterprise environments. This episode of Development digs into the analysis behind why enterprises are still choosing Python for backend development, unpacking a convergence of forces that make the language a uniquely durable bet for organizations with real stakes. The episode walks through five interconnected pillars that explain Python's enterprise dominance — each one more nuanced than a simple benchmark comparison: Ecosystem depth: With over 450,000 packages on PyPI and enterprise-hardened frameworks like Django and FastAPI, Python teams rarely build from scratch — they audit, integrate, and move on to solving the actual business problem.Developer productivity: Python's readability isn't just aesthetic — it measurably shortens onboarding, accelerates feature velocity, and creates cross-functional fluency between backend engineers, data scientists, and even product managers.Real-world scalability: Async runtimes (asyncio/ASGI), JIT tooling (PyPy, Cython), and stateless-by-design architectures mean Python handles production-scale load at companies like Netflix, Instagram, and Spotify — not by luck, but by deliberate architectural choice.Security and compliance: Built-in Django protections, static analysis via Bandit, OWASP-maintained Python guidelines, and native integration into AWS, Azure, and GCP compliance tooling have made Python a vetted link in the enterprise compliance chain — not a workaround.Business economics: A massive global talent pool, a single language that spans backend services, DevOps, data pipelines, and test automation, plus serverless-platform compatibility all reduce toolchain sprawl and long-term technical debt.Governance and longevity: Python's Enhancement Proposal process and active steering council keep the language evolving deliberately, with backward compatibility treated as a genuine priority — giving enterprises future-proofing without migration headaches.The episode closes with a reframe worth internalizing: the right question isn't why enterprises keep choosing Python, but what would realistically make them stop — and the honest answer is that there's nothing clearly visible on the horizon. More from the show: check out C++ in 2026: Why the 40-Year-Old Language Still Dominates High Performance for a complementary look at another language that refuses to be displaced. DEV

    9 分鐘
  6. 5 天前

    C++ in 2026: Why the 40-Year-Old Language Still Dominates High Performance

    Every few years, a new language is crowned the future of systems programming. Yet when the stakes are highest — financial systems measured in microseconds, medical devices where latency is a safety concern, or AI backends crunching tensors at scale — engineering teams keep reaching for C++. This episode of Development examines the case for C++ as a top choice for high-performance software in 2025, unpacking why four decades of evolution have made the language more relevant, not less. The episode covers a lot of ground for anyone weighing C++ against newer alternatives — or trying to make sense of why legacy-looking code still powers cutting-edge infrastructure: Raw performance fundamentals: Native machine-code compilation, zero garbage-collector pauses, and direct control over memory layout give C++ a ceiling that managed runtimes can't match — especially critical when cache behavior is the real bottleneck.A dramatically safer modern toolchain: AddressSanitizer, ThreadSanitizer, static analyzers, and the C++ Core Guidelines have quietly transformed the language's safety profile, making accidental footguns far harder to fire than the language's reputation implies.Modern C++ looks nothing like the textbooks: Smart pointers, move semantics, concepts, ranges, and coroutines — features introduced from C++11 through C++23 — push the language toward clean, expressive code without sacrificing performance.Five domains where C++ is essentially irreplaceable: High-frequency trading, gaming and XR, autonomous systems and robotics, scientific computing and AI infrastructure (the C++ backends behind Python's ML fame), and 5G telecom and edge computing.A maturing ecosystem: Package managers like Conan 3 and vcpkg, build systems like Buck2, and interoperability layers like pybind11 mean teams no longer have to choose between C++ performance and modern developer ergonomics.The talent and standards pipeline: Universities still teach low-level computing through C++, CppCon and related communities remain active, and the standards committee is already working on reflection, pattern matching, and safer concurrency for future releases.The episode closes with a reframe worth keeping: the smart question in 2025 isn't why teams are still using C++, but whether their requirements justify anything else. If you enjoyed this one, the show has also tackled the closest rival head-on — check out the episode C++ vs. Rust: Choosing the Right Language for Systems-Level Development for a direct comparison that complements everything discussed here. DEV

    8 分鐘
  7. 6 天前

    C++ vs. Rust: Choosing the Right Language for Systems-Level Development

    Systems-level programming demands more from a language than raw speed — it demands predictability, safety, and a codebase that someone can still reason about years down the line. This episode of Development puts C++ and Rust side by side across the dimensions that actually matter in production, drawing on the C++ vs. Rust comparison published at DEV. Rather than declaring a winner, the episode gives engineers the framework to make an informed, context-specific call. Here's what the episode covers: Performance parity — and where it breaks down: Both languages compile to native machine code with zero-cost abstractions, but C++'s unchecked freedom can introduce undefined behavior that Rust's compile-time borrow checker structurally prevents.Memory safety as a design philosophy: C++ treats safety as a choice (smart pointers, disciplined use); Rust treats it as the default, requiring an explicit unsafe block to opt out — a difference with real implications for team dynamics and security posture.RAII and deterministic cleanup: Both languages tie resource lifetimes to object scope, but Rust's drop semantics catch double-frees and use-after-free errors at compile time rather than at runtime.Developer experience and tooling: Rust's borrow checker has a steep early learning curve, but its error messages are unusually helpful; Cargo's unified build and package management gives Rust a structural advantage over C++'s fragmented CMake/vcpkg/Conan ecosystem.Ecosystem maturity: C++ remains dominant in embedded, automotive, and AAA game development (Unreal Engine); Rust's crates.io ecosystem has surpassed 120,000 packages and is production-ready in async, serialization, and cloud-native domains.Long-term maintenance: C++'s backward compatibility spans decades, making it invaluable for aerospace and defense; Rust's opt-in edition model lets the language evolve without breaking existing code, and its explicitness makes codebases easier to hand off.The episode lands on a practical conclusion: teams with deep C++ roots and the expertise to match should feel no pressure to abandon it, but greenfield projects — especially those where security, team turnover, or compiler-enforced correctness matter — have strong reasons to reach for Rust. More from the show: if you're thinking about how languages and runtimes intersect with AI safety, check out LLM Guardrails: How Token-Level Filters Keep AI Output Safe. DEV

    9 分鐘
  8. 6 天前

    How To Build Your Own Large Language Model From Scratch

    Training your own large language model might sound like something only well-funded research labs can pull off — but the open-source ecosystem, rentable cloud compute, and publicly available datasets have changed that calculus dramatically. This episode of Development unpacks this step-by-step guide to building a custom LLM, walking through every major decision point a developer will face on the journey from an empty directory to a deployed, queryable model. The episode covers the full pipeline in practical terms, giving developers a realistic picture of what each phase actually demands in time, hardware, and expertise: Data is the real foundation. A mid-sized model requires hundreds of gigabytes of clean, diverse text. Public datasets like OpenWebText, The Pile, and Common Crawl derivatives are strong starting points, but domain-specific builds — legal, medical, coding — will need proprietary supplements, with careful attention to licensing restrictions.Cleaning is unglamorous but non-negotiable. Raw web-scraped text is noisy and duplicate-heavy. Tools like MinHash or SimHash fingerprinting are close to mandatory for preventing a model from memorizing rather than generalizing.Infrastructure scales with ambition. A sub-7B parameter model can train on a single high-end GPU; beyond 13B, multi-GPU setups and distributed training frameworks like DeepSpeed or Hugging Face Accelerate become necessary. Containerizing the entire environment — and version-pinning dependencies — is essential for reproducibility during long training runs.Architecture and tokenization choices lock in early. Most practitioners build on established open-source architectures like Llama or GPT-NeoX rather than designing from scratch. Tokenizer training, fixed-length chunking, and hyperparameter choices — learning rate schedules, AdamW, gradient checkpointing — all get unpacked in concrete terms.Evaluation goes beyond perplexity. Automated metrics are a sanity check, not a verdict. Manual prompt grading, code completion benchmarks like HumanEval, and A/B comparisons against established baselines reveal blind spots that numbers alone miss.Deployment is its own engineering challenge. Quantization (4-bit or 8-bit) can dramatically cut memory requirements; production setups call for Kubernetes clusters, load balancers, and streaming gateways. Prompt logging, rate-limiting, and sandboxing against injection attacks round out a responsible deployment strategy.The episode closes with an honest assessment: building an LLM is within reach for determined developers today, but "within reach" is not the same as easy. The data pipeline alone represents more than half the battle — get that right, and the rest of the process becomes far more tractable. For more on keeping LLM outputs safe once a model is running, check out the earlier episode LLM Guardrails: How Token-Level Filters Keep AI Output Safe. DEV

    8 分鐘

簡介

Software and AI development podcast. We cover all things software development, including today's advanced AI development tricks and techniques.