Comments by "Edward Cullen" (@edwardcullen1739) on "Continuous Delivery" channel.

  1. 19
  2. I have some experience with low code development with one of the large (largest?) low code platforms, in a legal context. The best summary I have, I credit to a colleague: "It's great for rapid prototyping." From my perspective, it was just like any other tool in engineering: you end up replacing one problem with another; you're shifting the complexity around, rather than fundamentally reducing it. Biggest problems we had was around architecture and lifecycle management. Unlike (usually) .NET or Java (or dynamically linked C/C++), when the platform needed updating, the application needed to be rebuilt - and therefore retested. There were also architecture problems - because the app had been developed by non-programmers, they didn't have the understanding/appreciation/experience of how GOD AWFUL ORMs can be and the dangers of accidentally slurping vast quantities of data over the network. There were also other issues - bugs that couldn't be diagnosed and corrected by someone who understood lower-level HTTP/HTML and Java (yes, me... And I loathe Java 😂) Another MAJOR downside was the cost - the infrastructure was EXPENSIVE, plus we had lawyers writing software... Essentially, we ended up with untestable, poorly functioning software, written by amateurs that was extremely expensive to develop and run... And a bloody nightmare to maintain! It was great for the lawyers, because they had the sense of involvement, control and progress (all the things lawyers are predisposed to), but the cost of delivery was insane - it would have been FAR cheaper to employ a couple of good/experienced devs full-time and use cheaper infrastructure (even public cloud...) Like I said, it would be good for prototyping: let the lawyers sketch-out something that kinda does what they want, but then had it over to experienced devs to "build properly".
    16
  3. 13
  4. 11
  5. 9
  6. 5
  7. 5
  8. 5
  9. 4
  10. 4
  11. 4
  12. 4
  13. 3
  14. 3
  15. 3
  16. 3
  17. 3
  18. 3
  19. 3
  20. 3
  21. 3
  22. 2
  23. 2
  24. 2
  25. 2
  26. 2
  27. 2
  28. 2
  29. 2
  30. 2
  31. 2
  32. 2
  33. 2
  34. 1
  35. 1
  36. 1
  37. 1
  38. 1
  39. 1
  40. 1
  41. 1
  42. 1
  43. 1
  44. 1
  45. 1
  46. 1
  47. 1
  48. 1
  49. 1
  50. 1
  51. 1
  52. 1
  53. 1
  54. 1
  55. 1
  56. 1
  57. 1
  58. 1
  59. 1
  60. Couple of things: "Python is the second best language for any project." BDFL has stated "if you're worried about performance, why are you using Python?" In this sense, Python should be used for prototyping, to understand the problem and work out how to solve it correctly. Once you have a correct solution, translating that to a performant language is trivial in comparison (plus, you have a reference implementation to test against). Given we rarely get it right first time ("Plan to Throw One Away"), the only "performance" that matters, is getting to a correct solution. Not strictly a Python issue, but comments in code are just like unittests: done right, with the right intent, they are GoodThing™ and should be encouraged. Good comments give a different view of the code. I've had many people say "you don't need comments or documentation when you have the code", but if I just want to use your code, why should I be forced to spend my time delving into your code? (which may or may not be a pleasant experience in and of itself...) Documentation forms part of the user interface. If there is a numerical argument, I should not need to read beyond the doc comment to know what the acceptable range is. People make the argument that "comments don't get updated". I consider this a feature, not a bug. When there's a mismatch between stated intent in a comment and what the code does, then something, somewhere has gone wrong, potentially seriously so, therefore questions need to be asked. (And Mk1 re-education devices applied... 😉)
    1
  61. 1
  62. 1
  63. 1
  64. 1
  65. 1
  66. 1
  67. 1
  68. 1
  69. 1