The Value of Source Code

Поділитися
Вставка
  • Опубліковано 30 вер 2024

КОМЕНТАРІ • 166

  • @philomatics
    @philomatics  2 дні тому +44

    I spent a ridiculous amount of time on this video. If you liked it, please consider sharing it with a colleague! My interactive git cheatsheet is coming soon™, go grab it here once it's released: philomatics.com/git-cheatsheet

    • @redpillsatori3020
      @redpillsatori3020 11 годин тому

      Great video! One suggestion, please try and not do that weird Euro upspeak with your voice next time.

    • @sealsharp
      @sealsharp 8 годин тому

      Good job! ❤

    • @jonathanccast
      @jonathanccast 6 годин тому

      Your video is worthless, so clearly that was a waste of your time.

  • @Drogobo
    @Drogobo 12 годин тому +49

    I would value it at about $15 trillion because I don't want anyone seeing how bad of a programmer I am

    • @666rusoeb
      @666rusoeb 9 годин тому

      lmao

    • @alst4817
      @alst4817 8 годин тому +1

      😂 monetary value: $0.5. Value to my sense of pride: priceless

  • @KarimElHayawan
    @KarimElHayawan День тому +97

    Holy shit. Are you the author of "How to hire senior developers: Give them more autonomy"? I read it years ago and it pointed me to Naur's article which I also read and both have shaped how I really think about programming since.

    • @philomatics
      @philomatics  День тому +52

      Oh cool that you read it! Yup, that's me :) Thanks for the nice comment!

    • @johnsmith1953x
      @johnsmith1953x 23 години тому

      Don't listent to this guy.
      I've license my own source code for hundreds of thousands of dollars
      If nobody uses your binaries, then, of course, your source is worthless, BUT
      if ALOT of people use your binaries, your source code is 1,000% GOLD.

    • @vaisakhkm783
      @vaisakhkm783 5 годин тому +5

      ​@@philomaticsyou wrote books?.. now you are a 10x engineer

  • @TheSwissGabber
    @TheSwissGabber 16 годин тому +25

    I keep a diary for each project, writing down what approaches I am considering and why I chose "the one" to go forward.
    This helps a ton when I come back to a project after a few months. Skim through the last days, maybe look up the decision which is giving me a headache now. Sometimes an underlying assumption changed and another approach is better. But most of the time I did forget about some detail which made the chosen approach the only feasable one.

    • @philomatics
      @philomatics  15 годин тому +11

      I do the same thing! Mainly for myself, helps me put projects down and pick them back up at a later time.

    • @vaisakhkm783
      @vaisakhkm783 5 годин тому

      I hope orgmode is made for this.. though i have note/ folder with notes in markdown for every project

    • @sonnenhafen5499
      @sonnenhafen5499 2 години тому

      Do you keep the diary in a timeline format, or as a collection of notes on topics, without the time aspect?

  • @rezah336
    @rezah336 12 годин тому +13

    it is called knowledge based tech, the knowledge is in the company and the people

    • @ChrisAthanas
      @ChrisAthanas 6 годин тому +4

      It's all.tacit and irreproducible
      The source is just one expression of the culture of the people involved at that moment in time

  • @UliTroyo
    @UliTroyo 12 годин тому +11

    I was sleepy before watching this, but now you've got my gears spinning. I definitely want that follow-up language video. Btw, this is one of the reasons why the language Zig insists on no hidden control flow.

  • @ekus-study7011
    @ekus-study7011 День тому +9

    This has to be the best coding channel i've ever stumbled upon. I was making a consultancy platform for my college department and with this video I understood why is it too hard to explain to teachers ( as a part of evaluation ) what we actually build. The entire problem was mapping different roles to different silos and make controllers that interconnect. And I truly agree, the source code actually is not worth a lot.

  • @jonathanccast
    @jonathanccast 6 годин тому +6

    If my programs are worthless, clearly you don't need a copy of them.

  • @yuxiang4218
    @yuxiang4218 День тому +6

    Absolutely agree. This may also explain why so many different languages and frameworks exist.

  • @tfld
    @tfld День тому +19

    A surprise to be sure, but a welcome one! I'd love to see more videos like this!

  • @mwigojonathanmark1683
    @mwigojonathanmark1683 14 годин тому +3

    I am an Indi developer, I put code for my commercial projects on display if an interviewer asks me for projects, duing that time when my code is open I do push any new code changes until I lock the repo again.

  • @vitalyl1327
    @vitalyl1327 14 годин тому +8

    Code rots so fast. Even if code had value *at the moment it was written*, because it was solving a problem that needed a solution asap, after a while the value depreciates and the problem goes away for many possible reasons.

  •  4 години тому +2

    Interesting, video! I did find the statements quite black and white. I do think there are ways to make it easier to transfer this domain knowledge, one way is to do more Domain driven development. Even reading code as you stated at the end is a way to transfer this knowledge, were at the beginning of the video you state that knowledge can only be transferred by working closely with other developers. Open source libraries are a great of of developers using other peoples code and also contributing to it.

  • @SomeBoredDeveloper
    @SomeBoredDeveloper 5 годин тому +2

    If it's some companies I've seen, then it could be worth millions, as there's still people stupid enough to store their admin passwords in source code on the cloud.

  • @AbishekRengarajan
    @AbishekRengarajan Годину тому +1

    I believe that 'code' is essentially worthless without the people who built it, but this primarily applies to non-mature products. If a group had access to the source code of mature products like Office, MATLAB, or Tableau, they could disrupt the market by creating clone products and attracting investors to build from that point onward.
    With the advent of large language models (LLMs) and their improving capabilities in understanding and reasoning, it is only a matter of time before an AI assistant can guide me through source code I've never worked on. This would help me get up to speed in a work-from-home environment where interaction with other developers on the project is difficult and formal.
    So, in the end, code may not be worth close to zero.

  • @horoshuhin
    @horoshuhin День тому +2

    nice. love the real live experience videos.and it's a longer format too. :)

  • @AnnCatsanndra
    @AnnCatsanndra 10 годин тому +1

    Thought experiment: You have a compiler that has an "approve build" button. You may build and run test builds that only function on your dev system as many times as you like until you "Approve Build for Distribution". As soon as the build is approved, all of the source code used to build it is deleted. That approved build is locked in and cannot be changed. Was any value lost?
    Let's modify that a little. You can now add extension modules to any approved build you found online. But once you approve that extension for distribution, the extension's source is also permanently discarded. Was any value lost?
    Now for both scenarios, let's assume an end user has purchased one of these builds and has found a bug in a feature that is critical for them to use the software for what they intended. Was any value lost? We can write a new module to extend the old one. Or an entire new build from scratch specifically designed for this client's needs. Was the value proposition shifted at all?
    I feel like the message the video is trying to get across has some genuine merit, but the optics in how it's being presented is probably going to give people the wrong idea and do more damage than good for it. *Especially* with that thumbnail. Though for anyone taking the thumbnail itself on surface value, I urge them to consider "If you were to delete all of your source-code for the project you're working on right now, are you still going to be able to make meaningful progress tomorrow?" That's gonna be a yes and a no for some and others, but I just don't want anyone to get pulled in by the short catchy one-liner and then do something regrettable for it.
    (That and it's kind of a hard swerve from the previous trend of Git-specific topics, and I'm assuming the largely git-focused video description is probably the remnants of a slightly edited template than it is meant to be relevant to this specific video.)

  • @Jasonlhy
    @Jasonlhy 10 годин тому +1

    I think source code is to capture what we think the solution to the problem, which can be solved by computer
    I don’t think it is useless but the knowledge and the rationale behind writing those code is way more important than the source code itself. There are many things you can’t really learn unless you actually do the job.

  • @joshuathomasbird
    @joshuathomasbird 12 годин тому +1

    the documentation serves the purpose of forcing an engineer to prove that they've thought about various aspects of a solution, not neccesarily to communicate the solution itself; though it is helpful if it can do that to an extent.
    The other (newer) purpose for documentation, is as training data for ai so that ai can grok the theory of the software.

  • @RottenMuLoT
    @RottenMuLoT 20 годин тому +1

    Code review dude, code review. And do it for the good reason: sharing knowledge in a reciprocal way. That's it.

  • @romangeneral23
    @romangeneral23 Годину тому +1

    Great video, however I think you are missing or confusing some things here.
    The theft for example of the actual physical source code is a massive deal. Just because right away the company says "oh that code is already old and we are 1000 commits ahead of the old master" means nothing. That is called PR and damage control.
    In the industries "Corporate Espionage" is a very real thing and companies spend billions on protecting their assets which includes source code.
    If I were to walk into a corporations HQ with a USB drive and go up to a computer, sign into their code repos and click download all or something and walk out. What will happen to me ? Will I get arrested ? Will I have to give back the code ? OF COURSE.
    Maybe that codebase has some algorithms that the competition wants to shorten their development process. Maybe the code has concepts that the competitions developers have never even dreamed of. Maybe their is a whole new programming language that when used can shorten development time by 90%.
    The point is that source code itself can be both worthless and highly valuable at the same time.
    I don't see Apple, Microsoft for example publishing on a daily basis their source code to their respective operating systems. Why ? Because they know if either company gets a hold of the code it will reveal things that neither want the other to know about. How to implement X, or how to implement Y, etc....

    • @irlporygon-z6929
      @irlporygon-z6929 8 хвилин тому

      I mean to some extent yes, but in my opinion the bigger and more complicated a codebase is the less valuable it is to leak it. It would be catastrophic PR-wise that security was so low that something like that was allowed to happen, but in reality you can't just sell someone else's product on the open market that you built by simply stealing their code. The law would slam down on top of you so fast you'd have the wind knocked out of you. As for gaining valuable insight into how it works, if the codebase is huge and complicated you wouldn't know where to look, and if you did you'd probably be able to figure out the details by yourself more easily than stealing it. Most of the small efficiency hacks will be pretty opaque to you, and if you're building a different product for a different set of users they might not even apply to your use case. You can't just drop-in solutions from someone else's software unless you know why it's going to be efficient/do what you want/work at all, and once again that requires you to figure (a lot of) things out on your own... again. Unless you own a company with such a novel, valuable and well-kept secret technique that no one else in the entire world is using it in any open source project (I mean something like a solution to a major open problem like a fast algorithm for cracking factorization-based encryption e.g. RSA, which would give you a massive competitive advantage), your source code getting leaked probably will not mean much for your competitors.
      Unless you're doing something very stupid like storing API keys in there. In that case you may be fucked.

  • @kristianlavigne8270
    @kristianlavigne8270 8 годин тому +1

    I completely agree 👍 That’s why after more than 20 years of development I realised that most of the value were in the specs, tests and high level documentation, not in the source code itself. Code is a liability (maintenance, bugs, security etc).
    Every company I’ve worked for however only seem to value the code and to some extent the JIRA tickets (feature specs) until they’re done and “thrown away”.

    • @tomswan3401
      @tomswan3401 6 годин тому

      Tests (component, end 2 end) are mostly automated and based on classes and methods from the source code. So some of the source code need sometimes to be refactored to be able to write tests for that code part.^^

  • @TheThirdWorldCitizen
    @TheThirdWorldCitizen День тому +5

    Fascinating video, congrats!

  • @ChrisAthanas
    @ChrisAthanas 6 годин тому +1

    On point
    Source code rots the moment you stop typing

  • @perfectionbox
    @perfectionbox 16 годин тому +1

    A reasonably done codebase may have general-purpose routines or particular algorithms that might save a competitor time. And not surprisingly, those are the things usually sought.

    • @philomatics
      @philomatics  16 годин тому

      Good point! Research code/ideas might also fall in the same category.

    • @sealsharp
      @sealsharp 8 годин тому

      The value is not the code, but the knowledge about how to solve particular problems.
      So of security is too good to steal the code, try alcohol and an attractive person of the opposite sex on the developer.

  • @ferroalloys594
    @ferroalloys594 Годину тому

    If it is TRULY CODE as in encrypted and not a SOURCE DESCRIPTION in some programming or even formal specification language, or even assembly language, it's value is whatever it is required to be paid to have it DECODED! Simples... (:-)

  • @isnimshchikov
    @isnimshchikov 11 годин тому +1

    I think there is a difference between continious access to source code and one time access. Also some things have a robust internal implementations, that can't be easily copied just by looking at the product. For example chat gpt will lose a lot if theit model's source code was leaked

    • @AnnCatsanndra
      @AnnCatsanndra 10 годин тому +1

      Logistically, this doesn't hold for any of the extremely large LLMs like Gemini or ChatGPT because the number of people with the resources to run or train anything similar is extremely low and because in the case of most machine learning neural network based models the "source code" doesn't matter as much as knowing the training dataset, the training parameters, and the output weights. And even if one has all of those available openly, because of how the training tends to be randomized, one is unlikely to get an identical outcome even if they used the same dataset and nearly identical dataset if the seed is different.
      Fundamentally, the process of making a machine learning model is really not that hard and most comp sci students would be fully capable of doing so by the time they get their bachelors of science degree. But unless they have wealth in the billions, they're not going to be making multi-trillion parameter models in the near term with consumer grade hardware.

    • @SimGunther
      @SimGunther 10 годин тому

      Au contraire, my friend. The models are already super simple. The pre training that givesOpenAI value is what would be super expensive.
      They somehow managed to be valuable by guerrilla tactics of taking all the data it needs without concern for "copyright" before they went ahead and whined about how dangerous companies like it were for profitable creative works and "public safety", which is so laughable that they can act like aYakuza yet pretend to be angels 😂

    • @isnimshchikov
      @isnimshchikov 8 годин тому +1

      @@SimGunther They have lots and lots of optimisations that would help their competitors. They won't be able to use the code as is, but it has lots and lots of hidden info, that can be extracted and is very valuable

  • @JevKuznetsov
    @JevKuznetsov Годину тому

    What a great and insightful video! Thank you for so clearly explaining the key point that the real value lies in *understanding* the problem - solution path, rather than the solution itself.
    This is why I decided to completely outsource all the code and designs that I developed in my new company.

  • @martijnenco
    @martijnenco 2 хвилини тому

    Not that I dont say that it's not true, but as someone who have seen lots of coding projects I also think this is a wrong view. The 'new code is cheaper then refactoring/maintaining old code'. The not maintaining old code is what makes code old code. And a mix of old and new code is what a project makes spaghetti, chaos and worthless.

  • @johnsmith1953x
    @johnsmith1953x 23 години тому +6

    Don't listent to this guy.
    *I've license my own source code for hundreds of thousands of dollars*
    If nobody uses your binaries, then, of course, your source is worthless, BUT
    if ALOT of people use your binaries, your source code is effing GOLD.

    • @philomatics
      @philomatics  16 годин тому +1

      Is it really the binaries or your continued development and support of said binaries? Genuinely asking.

    • @johnsmith1953x
      @johnsmith1953x 15 годин тому

      @@philomatics I don't understand the question. A company will want to license the source code for a version of the binary. We provide future source code releases to t hem too for addition money. The company cannot distribute any derivitives of the source or binaries.

    • @philomatics
      @philomatics  15 годин тому +4

      Would they still pay for your binaries if your company would just vanish afterwards? In other words, is the promise of your continued support part of what gives your code its value?

    • @mrpocock
      @mrpocock 15 годин тому

      Not to be that guy, but if you're selling binaries, then it is the binaries that have value. The source is only worth anything if you will need to provide different binaries in the future made from derived source.

    • @johnsmith1953x
      @johnsmith1953x 15 годин тому

      @@philomatics They have the source code and can build it at will and/or add additional features/options/etc. Once they have the source, they really don't need us. That's the other point of getting the source.

  • @derivepi6930
    @derivepi6930 9 годин тому +1

    And here I am telling my son to move on from Scratch...

    • @KanjiCoder_RTFM
      @KanjiCoder_RTFM 5 годин тому

      I have some younger viewers that I keep telling to move on from scratch . They keep doing things too complex for scratch . And I mean , I take my own advice . I went from Qbasic to ActionScript to Js to Golang to C .

  • @slmnv5
    @slmnv5 28 хвилин тому

    This vid. Is 2nd after “time does not exist”. This playful voice intonation, are charming.

  • @murkorus7147
    @murkorus7147 3 години тому

    "In my opinion, programming is a lot about choosing the right tradeoffs, based on your experience, and compressing all these technical decisions, which are often based on intuition, into a written document, seems really impractical to me. [...] But imagine you had to justify in writing, every single technical decision you make, I think this would drive me insane." (10:52 - 11:17)
    This is literally what me and my classmates have to do in school. I'm studying at a technical college for engineering/programming, and in every project, no matter how big or small, we have to write a 10-30 report and documentation of our end product. Every line of code needs to be explained and justified, every piece of hardware needs to be explained and justified, several analyses have to be made, sometimes extensive testing and getting other people's reviews and then evaluating the process for getting them, as well as making it enjoyable to read for our teachers. And yes, it *is* driving us insane having to do this every month.

  • @pengowray
    @pengowray 5 годин тому

    What you call "optimizing for transfer of theory", I might call "information design" (though I only discovered this term recently). Over the last 20 years I often find myself coming back to the question of the ideal way to bring this kind of practice to programming. For example, the ways to allow much richer, more clearly specified, and more legible programs without increasing the cost of maintainability or explainability. I'm sure you have very different ideas to what I've been pondering but definitely something I'd love to see more of.

  • @sonnenhafen5499
    @sonnenhafen5499 2 години тому

    I am programming IoT devices and the backend for a small company.
    This is my first project of that scale and i was thinking hard about the possible solutions and decisions.
    I wanted to document these things as i go and soon it felt like writing a philosphical tractatus... going into why considering this and how to model that, what to assume here and why i decided that...
    I came to the conclusion, that the only feasible way to write a helpful document is to outline the project and help to give an entrypoint for understanding and the tooling, going into details where tricky solutions were found and important decisions made.
    But documenting the development process instead of the result only, which would be necessary to understand how the current solution was found, might best be kept in the programmers, and that justifies their increasing salary.
    This video helps me with understanding what went "wrong"...
    Danke für das Video, abonniert! ;)

  • @khlorghaal
    @khlorghaal 2 години тому

    ive written a custom language dialect thats perfectly suited to my own subjective preferences. to myself, its extremely valuable. to other people? probably worthless, other than maybe to briefly observe
    the pure concept of "c++ can have null safety and optionals" is immensely more valuable than whatever specific implementation
    i get very distraught over codebases that are almost entirely semantic and glue.
    or like reading a nintendo patent thats 100 pages long yet its summary is about 2 simple lines of code.

  • @jcorey333
    @jcorey333 Годину тому

    The main counter example I can think of is how many open source companies like mongodb are going to a fair source platform because they are worried that a big tech company like Amazon will just fork their code and run it themselves, pulling in the money that mongodb would have made.
    I think this is a very small selection of companies where this matters, but I do think there are some people for whom it does

  • @ryanpmcguire
    @ryanpmcguire Годину тому

    A project is a process, not just any single snapshot in time. Just look at how quickly unmaintained libraries go out of use even if they're technically superior to a maintained one. It seems that people only use libraries that are "alive".

  • @AustinDennis
    @AustinDennis 5 годин тому

    The transfer of theory is something that visual, node based languages excel at. Not as a direct replacement, but as a grouping and control flow representation of blocks of code and how they flow/work together to achieve what the software was designed to. I’m extremely interested in what you’re working on! Great video, not just applicable to programmers.

  • @05xpeter
    @05xpeter 3 години тому

    Amazing video. At my former job I was on a mission to change the way our organization though about IT from project based to product based. I wish I have seen this video back then it would have given me so many arguments.

  • @eileennoonan771
    @eileennoonan771 7 годин тому

    This is great. It concretely articulates why I don't think code it will be quite as easy to replace programmers (or people in general) with AI. It's not just about the code - it's about the real experience and understanding of the world. Good, useful, maintainable code is suffused with it.

  •  5 годин тому

    Exactly, the programmer models a problem. The theory.
    Source code is just written theory that will be tested in the real world in a runtime as a solution to the problem.
    Then there’s style rules, like there are style rules in Math.
    Except in Programming there are many different rulesets on style (architecture, syntax, structure).
    Pure functional programming is the closest to math.
    Hypotheses are implemented as theory and tested and corrected when they are wrong.
    We build logic pipelines and theoretic models of real world interactions.
    Even a webshop does that.
    Customer, product and shoppingbasket are modelled after the real world after all.

  • @khlorghaal
    @khlorghaal 2 години тому

    16:30 the exception for me has been C, all of the best large codebases ive seen are written in purely traditional C, nothing else comes close. i think its because of the forced simplicity, and the mindset correlated with someone who voluntarily chooses C
    torvalds "if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C."

  • @izkreny
    @izkreny 14 годин тому

    Great video, especially for nowadays "remote" times! IMHO interpersonal transfer of knowledge is FTW, not just in IT. Please do more stuff like this. Thanks!

  • @gabrielchuede6688
    @gabrielchuede6688 8 годин тому

    Great Video! I always asked myself why people prefer to make a project from scratch than contributing on existing projects on github. It makes a lot of sense.

  • @Monzy_
    @Monzy_ 3 години тому

    I’d love to hear more about this programming language you’re brewing up. Subscribed!

  • @jose6183
    @jose6183 Годину тому

    Amazing! What a great essay describing our current state of development process.

  • @timbehrens9678
    @timbehrens9678 4 години тому

    I have encountered similar situations in multiple product development projects not related to software. In theory you can write very extensive documentation that can be useful for new developers not familiar with the original team and projects "oral history". But the effort to do that is pretty comparable with the product development itself and almost never implemented in real life.

  • @techsuvara
    @techsuvara 3 години тому

    This is an interesting theory and gave me some insight. I’ll share that insight in my next video. “Programming code is Growing code”

  • @AdobadoFantastico
    @AdobadoFantastico 10 годин тому

    I've been wondering about exactly these sorts of questions recently and am super thankful to find this. Fascinated by the theory building view and ideas on languages built around facilitating transfer of theory. My own experience making games has given me similar feelings that much of the game actually exists in the brain of the person interacting with it.

  • @msilence2009
    @msilence2009 8 годин тому

    We shouldn't let to use us as replaceable cogs. We shouldn't work on a problem of how to enable businesses to easily replace us. It's not in our interest, and not a good thing for humanity, as it would just enable AI to easily replace humans at some point. And thats where humans will become new horses - the population will shrink dramatically.

  • @akam9919
    @akam9919 16 годин тому

    As a person against IP, I'd also add that from a business point of view, the value of source code is not the exclusive ownership of said code. It is in its actual usage and being first to market. Furthermore, even if competition arises, people will still prefer the first entry to the market. There is no benefit in a new comer unless the existing solution is badly designed, in which case, it doesn't matter what your IP is. It still sucks. Or, more likely, it doesn't meet the needs for a particular niche. IP wouldn't have a meaningful impact on total revenue for that company unless they actually go and provide a service that actually fulfills the consumer's requirements. IP is just a crutch for a non-disabled person. You can either lean on it, put it in a corner somewhere and start doing something productive, or go break something or someone with it. Those that rely on it aren't helping anyone.
    Just because someone could learn how to plant their own vineyard doesn't mean the winery goes out of business. The value is not in the grapes or knowing the process. It's in actually making the damn wine.

  • @dzhv
    @dzhv 12 годин тому

    I think you're both right and wrong. Consider OpenAI, they are changing their code all the time so that it can't be hacked by others or the AI itself, but the final goal is actually self aware AI, which is the opposite of self obfuscation.

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 13 годин тому

    I think the theory about the theory building view is correct. However, that is already taken into account by all programming languages to a certain extent. That's why there are different phislosophies. It's also part of follwoing the different *idiomatic* aproaches of programming languages. The way I see it, no matter what theory has been in place in order to create an end product, the transerral of it can only be achieved through practical experience. It's like trying to explain the inherent value of a human being. It takes human interaction.

  • @meiru2863
    @meiru2863 5 годин тому

    I would say that if you theory applies to a certain project, then this proves that this project is of poor quality. And I would go on to say that your theory applies to the majority of today's software projects.

  • @AL-or3dn
    @AL-or3dn 20 годин тому

    If a team adheres to best practices and produces clean code then it should worth something.
    Maybe some IDE plugin which links code to requirement documentation could help. Like if I hover over a piece of code then a hint pops up and I can read relevant part of requirements right in the IDE.
    Great video, thanks!

  •  5 годин тому

    I say: source code is worth nothing without the people able to maintain it.
    Thanks for good video.

  • @yaksher
    @yaksher День тому

    If the question is "how much would you pay not to have the source code deleted" then for my personal projects it ranges from like... a few dollars for entirely 1-off stuff to like a couple hundred bucks for a tool which I both regularly use and upgrade and which consists almost entirely of annoying details and required very little thinking to write, so rewriting it would require pretty marginally less effort the second time.

  • @poltuu
    @poltuu 10 годин тому

    It got me thinking: source code should basically come with an AI dedicated to having the inner model of the code. then, it would be its guardian angel, insuring every new change is inline with the ai correct inner model.

  • @k98killer
    @k98killer 7 годин тому

    The concert pianist metaphor does not work because there is not one single correct way to play a piece. Also, I can very easily write down interpretation notes about a piece that accurately convey the changes in dynamic and tempo necessary for a specific interpretation. We literally use written notes all the time.

  • @check9094
    @check9094 20 годин тому +1

    I was just thinking about this today. I came up with an idea to solve this: you could use an llm to query the codebase to produce a summary of how the code is organized/how it works/what it does (or as you put it, the 'theory' of the code). If the codebase is too large for a single query, you could query individual files/directories and then use chain of thought to synthesize them together.

    • @autohmae
      @autohmae 16 годин тому

      The LLM can only tell you what the code is, not why the code is.

    • @philomatics
      @philomatics  16 годин тому +1

      Yes, I think LLMs and AI in general have a lot of potential for better code search/explanation. But I don't think they're able to solve this problem fundamentally.

    • @awakenwithoutcoffee
      @awakenwithoutcoffee 13 годин тому

      Cursor AI enters the chat

    • @j.r.r.tolkien8724
      @j.r.r.tolkien8724 12 годин тому

      I think an AI can simulate a solution. Sometimes simulation gets real close to reality.

    • @depralexcrimson
      @depralexcrimson 5 годин тому

      @@philomatics LLMs and AI are incredibly dumb ,even if you formulate everything properly and explain what you're trying to do and how, it can only give about 70-60% accurate code most of the time, becuase it's guessing based on words and expected output... rest you need to fix yourself, but I'll take that 60% accurate code and fix it so it's 100% accurate than writing everything from scratch, it boosted my productivity by a lot but I'm also gonna go on a leg and say it made me forget some basic things and I'm trying to get rid of it but it's hard when you're trying to write tests or boilerplate code that u just can't be bothered with that will take loooooooong hours to do.

  • @GnomeEU
    @GnomeEU 9 годин тому

    I would love to have the source code to all my fav video games, tools, etc.
    Source code is only worthless if it's too specific to your use case, too specific to your business logic, etc

  • @gruntaxeman3740
    @gruntaxeman3740 3 години тому

    One solution is to write a book of the problem how to solve it. The code can be forwarded along with the content of the book.

  • @PaulSebastianM
    @PaulSebastianM 4 години тому

    The value of my source code is how much I've learned from writing it.

  • @minklekie3407
    @minklekie3407 День тому

    I have similar feeling as the last part of the vides, I think that text and folder hierarchy is really insufficient and too simply to express rich structure of the underlying logic, and tech docs overlooked too much infomation.

  • @r75shell
    @r75shell 2 години тому

    The code still has value. It can do job, even if it's buggy

  • @brianrainer
    @brianrainer Годину тому

    Great insight, well done! Thanks for sharing 🙏

  • @dinoscheidt
    @dinoscheidt 14 годин тому +8

    1:36 …. Always love when a small start-up in a funding round is concerned that „some big company“ would steal something. Seriously, going through that pain and keeping it a secret at a company of more than 5 people is already hard. No, if they would want to do that, it would be much much much cheaper to just buy you instead of taking all this risk outside of a process. Phew

    • @nerios.v
      @nerios.v 11 годин тому +3

      Also, the complication is not in the code for the most part, is in the business mechanics, clients, market, revenue, etc. The code alone means very little.

  • @davidrieger3160
    @davidrieger3160 14 годин тому

    Excellent video, Oida!
    I'll have to buy your book.

  • @guiorgy
    @guiorgy День тому

    I often prefer creating something myself instead of using someone else's, unless it's too complex of course

  • @anarabdullazad4649
    @anarabdullazad4649 3 години тому

    I like to look at the database structure to understand project.

  • @KanjiCoder_RTFM
    @KanjiCoder_RTFM 5 годин тому

    Hypothetically , could this undocumentable part of the code be documented if someone was crazy enough to... IDK... document every line of code on video ?

    • @fappylp2574
      @fappylp2574 Годину тому

      You sound like my boss...

  • @jiminippo
    @jiminippo 12 годин тому

    I'm loving this (-> subscribed). Knowledge management theory presents that intuitive know-how called tacit knowledge can only be passed with socialization. Just as you presented here. Also your abstracted programming language sounds really interesting. I think if we had generative ai trained on assembly or machine code, we could have a new kind of abstraction layer on top for inference. With current llms one have to know the coding vocabulary in order to extract the proper information from the vector cloud. That seems like an unnecessary step.

    • @gzoechi
      @gzoechi 12 годин тому

      Where would all the training data come from when using a language no human writes? If AI would generate such code it would have to write 100% of it because it wouldn't be possible for humans to complete and tweak.

  • @NachtmahrNebenan
    @NachtmahrNebenan Годину тому

    Code in production is a drain of your profit. Code that is hard to maintain can kill your company. I have seen this several times. So, write nice and well tested code to maintain your income 🌺

    • @fappylp2574
      @fappylp2574 Годину тому

      In my experience it's the opposite: The most successful and well paid developers were the ones who wrote the most horrible, undocumented and unmaintainable code. Other people always have to come to you and ask for help, which makes you look like an irreplaceable 10x guru to management when you then fix problems that other people couldn't...

  • @loftyTHEOWNER
    @loftyTHEOWNER 14 годин тому

    Amazing video, really instructive

  • @paulwesley3862
    @paulwesley3862 День тому

    the language you are privately working on: yep interested in a video

  • @gjermundification
    @gjermundification 12 годин тому

    5:17 The knowledge of the absolute. ^^ Gem

  • @RmAndrei93
    @RmAndrei93 19 годин тому

    Not sure about this . Maybe for the majority of apps , yes , you cant use stolen things anyway. Howver for other types if code maybe its more damaging . Ex amd spent their early earls reverse engeniring intel for compatibility, or the firware on devices with radio defined antennas , or the attack vector for the iranian nuclear centrifuges

    • @philomatics
      @philomatics  15 годин тому

      Good point, I think for security related stuff this is a quite different discussion.

  • @AllHandsOnEveryThing
    @AllHandsOnEveryThing 2 години тому

    bro ima quote you in my video... some day

  • @khlorghaal
    @khlorghaal 2 години тому

    "the best code, is code that can be deleted"

  • @goodfortunetoyou
    @goodfortunetoyou 16 годин тому

    I think your problem is the question. The same code can have different value in different circumstances, so the value of source code isn't an intrinsic property of the source code itself. It's only "valuable" in relation to some external model which assigns a value to it, possibly depending on circumstances.
    e.g. say you're working on a problem that requires a sorting algorithm, and you have the option of paying money for access to either a sorting algorithm, or a root-finding algorithm. Obviously, you'll most prefer the sorting algo, and have no preference for the root-finding algo. Now assume, you need to find the zero of a polynomial. Now you're willing to pay for access to the root-finding algo, but don't care about the sorting algo. Thus, depending on what you need, you value one algorithm (and therefore it's source code) differently. This demonstrates that the value of source code is not a unique value.
    However, it does not mean it cannot be valued. Any value can be assigned, depending on circumstance and valuation model. If the code runs a million dollar per year service, it's quite valuable to the org that runs the service. However, since I'm not running the service, it might be worthless to me.

    • @philomatics
      @philomatics  15 годин тому

      Hmm, what you're saying is true for every good though. Glass of water in the desert is much more expensive than in the mountains.
      In your example at the end, is is really the code running in prod that's valuable, or the continued maintenance and expansion of the code/service?

    • @goodfortunetoyou
      @goodfortunetoyou 9 годин тому

      @philomatics Yes, It's each person's internal assessment and comparison of two things. Code is one case among many. Money makes things easier because it has a numeric value, which is ordinal. Continued maintenance of the code enables transactions to occur, where money is exchanged for the service the code supports. This can let you calculate absolute profits, or the rate of return between projects code supports.
      However, the value doesn't need to be monetary. At one point in your career, you might prefer coding style X, and then become enamored with style Y. That gives you two tuples (S, X) and (S, Y), where either is greater depending on a third parameter. In this case as well, relative value is determined by some function assigning a value to the thing. In general, I don't think it even needs to be a function, just a map to some set where you can perform comparisons.

  • @Zmey5656
    @Zmey5656 19 годин тому

    Thank you for your video>

  • @jonathanrees47
    @jonathanrees47 4 години тому

    Amazing video

  • @broyojo
    @broyojo 18 годин тому

    would love to see the programming language you're working on

    • @philomatics
      @philomatics  15 годин тому

      Thanks! Might still be quite a while until I got something worth showing, but good to know!

  • @facundopellicer7514
    @facundopellicer7514 21 годину тому

    yes, we want this content

  • @tomswan3401
    @tomswan3401 6 годин тому +2

    So why isn’t microsoft publishing the source for windows xp or at least windows 2000 (workstation) if source code is worthless?

  • @raylopez99
    @raylopez99 17 годин тому

    Well with the rise of AI, the value of source code (and programmers) will be worth even less.

    • @philomatics
      @philomatics  15 годин тому

      I think it's too early to say. From what I've seen so far, the code that AI produces is mostly crap, and there's no guarantee it's ever going to get much better.

    • @j.r.r.tolkien8724
      @j.r.r.tolkien8724 12 годин тому

      @@philomatics You can see it both ways surely. I don't think anyone can say for certain it won't continue to get better as it has been so far.

  • @tomswan3401
    @tomswan3401 6 годин тому +2

    Not wanting to offend you or so. But I’m a little concerned that your previous videos are only about git.
    Here you’re trying to convince me about source code and your previous vids are only about git. I would expect some analysis of abstractions at least in your previous vids.^^

  • @gzoechi
    @gzoechi 12 годин тому +3

    All the developers of apps that suddenly have some Chinese competitor that built exactly the same looking product but with much more aggressive marketing might see this differently.
    Otherwise I mostly agree.

    • @batatanna
      @batatanna 7 годин тому +1

      Its not hard to reverse engineer someone else's code.

    • @depralexcrimson
      @depralexcrimson 5 годин тому

      @@batatanna have you ever lifted some custom VM? that's also packed/obfuscated/fuzzed dynamically and streams in modules from the internet and decrypts itself in the vm and each time the module is polymorphically different and has some sort of polymorphic executor in the vm that changes it's execution each time a function is used, that has also advanced timing checks inlined everywhere that are also polymorphically built? It's not that hard for someone to reverse something of value inside a binary, that is unprotected and has large set of boilerplate code, but try that in a protected binary lol which also has strong integrity checks and anti debugging.

    • @batatanna
      @batatanna 5 годин тому

      @@depralexcrimson I stand by my point. You may not redo the exact same code, but by studying the functionality you are very capable of creating new code that does exactly that.

  • @minklekie3407
    @minklekie3407 День тому

    Great video

  • @autohmae
    @autohmae 16 годин тому

    Sounds a lot like Polanyi's paradox.

  • @have-bear
    @have-bear 16 годин тому

    I call them "unknown knowns."

    • @philomatics
      @philomatics  15 годин тому

      Heh. that's a good one, stealing this!

  • @johnmishell234
    @johnmishell234 День тому

    Audio is a bit too low

    • @philomatics
      @philomatics  День тому

      Thanks for letting me know! Unfortunately can't change it now. Hope it's not too bad.

    • @Gunzmo
      @Gunzmo День тому

      ​@@philomatics Audio was perfect for me tho. just saying. Great video btw!

    • @ibrahimshehuibrahim918
      @ibrahimshehuibrahim918 9 годин тому

      Seems you are viewing from outdoor

  • @zoltanzorgo
    @zoltanzorgo 5 годин тому +1

    I don't know... It's true, that a human won't be able to accurately extrapolate the theory from the source code and documentation. But we have passed humans in this field. Even though the context limits for now the ability to process a large code base, it is possible to incrementally refine, and finetune an AI model using the source code of a project. It will understand most of it. You can create GPTs for specific frameworks easily. Even though some real-world constraints will be missing from this model, the general knowledge adds a basis for the inference. If not just yet, in a few years for sure. For now, AI is bad at making real-world-driven decisions. A human has to translate those into the model space. In a few years, the AI will be able to conduct interviews with stakeholders and will give you detailed guidance on where to look for the missing pieces. Or doing it himself with the help of some automated agents. Asking workers for details. Expert systems aren't new at all. The first ones were built in the '70-'80, and they were able to ask directed questions to reduce ambiguity. AI is classes of magnitude better in that. That does not make source code valuable per se, only makes the theory less valuable...

  • @ritsukasa
    @ritsukasa 8 годин тому +1

    depends on the application. I did and mantain an application that is just a subset of what an ERP is, and just won't implement many areas an ERP should have. I wouldn't look with disdain current code. If I were to lose it, it would be years of frustration remaking it even for myself. Even recover the source code of 2014 would be so good and apreciated, otherwise I may switch to make games and forget about it. I am terrible understanding other people's code, but I guess is just a fraction of the effort to build. It's obvious is gonna take time to make a 1M lines of code app. Understanding a current source code should be worth unless it's in assembly.

  • @danielh7104
    @danielh7104 6 годин тому +1

    The value of my current project is roughly £150k to our company in the first year and hopefully similar revenues in subsequent years.

  • @Kampouse
    @Kampouse 20 годин тому +1

    Marketing marketing marketin

  • @PrivateKero
    @PrivateKero День тому +1

    I don't know if I agree with that 100%, but to a large extent I do. I think it depends very much on the software industry. My impression is that in web development, it is more common to write everything from scratch (again and again).
    However, I also know of project applications (often programming languages that are closer to hardware like C/C++) where you don't just start from scratch. You might have to rewrite certain modules etc., yes. But not the entire application.
    In any case, I see added value in source code. It can be a basis for someone else to build on. Even if it's not the latest version, starting from scratch is much more time-consuming.

    • @autohmae
      @autohmae 16 годин тому

      Every piece has a replacement value.

    • @j.r.r.tolkien8724
      @j.r.r.tolkien8724 12 годин тому +1

      @@autohmae replacement cost*

    • @autohmae
      @autohmae 11 годин тому

      @@j.r.r.tolkien8724 yeah, fair

  • @k98killer
    @k98killer 8 годин тому

    Every question of "why" is ultimately unanswerable. I prefer to document answers for questions of "how", especially in my FOSS packages and libraries.

  • @TheSilverGlow
    @TheSilverGlow 4 години тому

    This video is 100% wrong! Source code is massively valuable and important to must enterprises, and small time developers. If the source code is lost, or missing, then there is no app. If the source code is missing, customer support is negatively impacted.