Changeset 8a5aeac
- Timestamp:
- Aug 18, 2025, 8:48:30 AM (4 weeks ago)
- Branches:
- master
- Children:
- 7ea4073
- Parents:
- a43b743
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/conclusion.tex
ra43b743 r8a5aeac 5 5 Since some subset of these three containers are used in almost every program in every programming language, this is a laudable goal. 6 6 Accomplishing this goal in C is difficult because these features are poorly designed. 7 By extending C into \CFA, it is possible to augment the programming language to provide better support andsignificant safety.8 The result is code that is easier to write, maintain,safer from hacker attach-vectors.7 In contrast, \CFA's advanced type system and language features plus my critical design choices made it possible to provide better support with significant safety. 8 The result is application code that is easier to write, understand, maintain, and safer from hacker attach-vectors. 9 9 10 10 \section{Lists} … … 14 14 \section{Arrays} 15 15 16 The key takeaway for arrays is that the type system must be extended to properly manage array bounds (dimension ) to safely pass arrays to (polymorphic) functions.16 The key takeaway for arrays is that the type system must be extended to properly manage array bounds (dimensions) to safely pass arrays to (polymorphic) functions. 17 17 By adding a special kind of template constant to \CFA, @[N]@, the type system understands array bounds and implicitly associates these bounds with array instances, statically and dynamically, throughout the programming language. 18 18 Array overruns are no longer possible because all subscripting is checked, as in other modern languages. 19 19 Subscript checking can be implicitly elided when the compiler is given sufficient information to determine the subscript variable is always in bounds, giving performant execution. 20 20 21 The ability to slice a higher-dimensional array into subarrays is also a powerful and safety critical feature. 21 Safe, complex VLA's is another important feature because it replaces unsafe explicit dynamic allocation. 22 As well, VLA's reduce heap contention in concurrent programs. 23 24 Finally, the ability to slice a higher-dimensional array into subarrays is also a powerful and safety critical feature. 22 25 23 26 … … 28 31 This work designs an expressive set of safe string operations for composing, comparing, and decomposing arbitrary length strings, include complex reading and printing operations. 29 32 33 Creating bespoke storage management for strings has the advantage of faster, more compact storage management due to string sharing, at the cost of additional external fragmentation between the string and general heaps. 34 With the large amounts of available memory, this approach is a viable tradeoff. 35 36 30 37 31 38 \section{Future Work} 32 39 33 All three forms of containers presented in this work are in their nascence both in design and implementation.34 This work provides the foundation for future students to add more functionality and provide morerobust and performant implementations.40 All three forms of containers presented in this work are in their nascence, both in design and implementation. 41 This work provides the foundation for future \CFA students to add more functionality along with robust and performant implementations. 35 42
Note:
See TracChangeset
for help on using the changeset viewer.